You are here: Reference > JavaScript > client-side > selection and ranges > methods > setEndBefore (Range)

setEndBefore method (Range)

Browser support:
Sets the end position of the current Range to the start position of the specified node.
Note: The Range object and its setEndBefore method are supported in Internet Explorer from version 9.
The end position of a Range is the first position in the DOM hierarchy that is after the Range. If you want the specified node to be the last element in the DOM hierarchy that is contained by the current Range, use the setEndAfter method. To set the end position to a point that is not the start or end point of any node, use the setEnd method.


object.setEndBefore (node);
You can find the related objects in the Supported by objects section below.


Required. The end position of the current Range will be aligned to the start position of the element referenced by the node parameter.

Return value:

This method has no return value.
The setEndBefore (node) method is equivalent to the setEnd (parentNode, index) method, where the parentNode parameter refers to the parent node of the element specified by the node parameter and the value of the index parameter is the position of the element referenced by the node parameter in the childNodes collection of the element referenced by the parentNode parameter.

Example HTML code 1:

This example illustrates the use of the setEndBefore method:
    <script type="text/javascript">
        function DeleteInternalRows () {
            var table = document.getElementById ("myTable");
            if (table.rows.length > 1) {
                var firstRow = table.rows[0];
                var lastRow = table.rows[table.rows.length-1];
                if (document.createRange) {     // all browsers, except IE before version 9
                    var rangeObj = document.createRange ();
                    rangeObj.setStartAfter (firstRow);
                    rangeObj.setEndBefore (lastRow);
                        // deletes the rows
                    rangeObj.deleteContents ();
                else {
                    alert ("Your browser does not support this example!");
    <table id="myTable">
        <tr><td>First row</td></tr>
        <tr><td>Second row</td></tr>
        <tr><td>Third row</td></tr>
        <tr><td>Fourth row</td></tr>
    <br /><br />
    <button onclick="DeleteInternalRows ()">Delete the internal rows!</button>
Did you find this example helpful? yes no

Supported by objects:

Related pages:

External links:

User Contributed Comments

Post Content

Post Content