javascript - 在tbody中选择节点及其所有子节点

时间:2017-10-28 15:49:05

标签: javascript html web

我想选择<中的所有元素tbody>以及所有他们的子元素,所以我可以使用javascript更改一个类。

例如,我想在以下示例中将类cl1更改为cl2

<table>
    <thead>
         ....
    </thead>
    <tbody id="my-table">
        <tr class="cl1 other-class">
            <td>Some value</td>
            <td class="cl1 other-class">Some value</td>
            <td>Some value</td>
        </tr>
        <tr class="cl1 other-class">
            <td class="cl1 other-class">Some value</td>
            <td>Some value</td>
            <td>
                <a class="cl1 link" href="#">Some link</a>
            </td>
        </tr>
    </tbody>

我想使用javascript,没有jQuery

我设法选择了里面的所有元素&lt; tbody&gt;像这样:

document.getElementById("my-table").tBodies.item(0)

但我不知道如何选择每个子元素或子子元素。

更改类,我知道我可以使用正则表达式来替换类

2 个答案:

答案 0 :(得分:0)

可能重复How to select all children of an element with javascript and change CSS property?

尝试(为您的ifconfig 添加ID以使其正常工作)

tbody

答案 1 :(得分:0)

您说您设法选择<tbody>元素,但您想知道如何选择它的子元素或其子子元素。您可以使用每个元素具有的children属性执行此操作。因此,此行为您提供<tbody>的所有子项<tr>(行):

document.getElementById("my-table").tBodies.item(0).children;

然后,如果你得到每一行的孩子,你就得到了细胞。例如:

var tbody = document.getElementById("my-table").tBodies.item(0);
var rows = tbody.children;
var row1cells = rows[0].children;
var row2cells = rows[1].children;
相关问题