Javascript, как я могу получить доступ к определенному дочернему элементу строки?

используя Javascript, как я могу получить доступ к определенному дочернему элементу строки? Javascript (не jQuery, пожалуйста).

например: второй <TD> of <TR> где ID=id33322010100167

<table>
<tr id="id33322010100167">
<td>20101001</td>
<td>918</td>
<td>919</td>
<td>67</td>
<td>CAR PROBLEM</td>
</tr>
<tr id="id33322010100169">
<td>20102001</td>
<td>913</td>
<td>914</td>
<td>62</td>
<td>LUNCHTIME</td>
</tr>
<table>

6 ответов


var index = 1; // second element
var child = document.getElementById('id33322010100167').childNodes[index]

может быть, вы можете попробовать это:

var tRow = document.getElementById("tableName").getElementsByTagName("tr");

for(var i = 0; i < tRow.length; i++){
    if(tRow[i].id == "name of your id"){
        //do something
    }
}

наиболее надежным является cells коллекция, которая в отличие от childNodes в браузерах, отличных от IE, игнорируются текстовые узлы пробелов между ячейками:

var td = document.getElementById("id33322010100167").cells[1];

используя DOM, вы можете получить таблицу, а затем перебирать дочерние элементы, сохраняя счет.

конечно, идентификаторы элементов должны быть уникальными, так что document.getElementById('id') строительство.


использовать jQuery:

first = $('#id33322010100167 td:first'); // gives you the first td of the tr with id id33322010100167 
last = $('#id33322010100167 td:last'); // gives you the last td of the tr with id id33322010100167 

вы можете использовать next() для перебора элементов

first.next();

<table id="studTable" class="table table-bordered">
     <thead>
        <tr>
           <td>Click</td>
        </tr>
     </thead>
     <tbody>
           <tr><td><a href="#" onclick="ClickRow(this)">Click</a></td></tr>
     </tbody>
</table>

для таблицы выше вы можете использовать что-то связать это. вы можете прочитать выбранную строку, нажав строку / ячейку внутри строки и прочитать значения ячеек и / или удалить строку из таблицы

function ClickRow(r) {
        console.log(r.parentNode.parentNode.cells[0].innerHTML); //Read First Cell in Row
        var i = r.parentNode.parentNode.rowIndex;
        document.getElementById("studTable").deleteRow(i); //Remove Row
    }