从父类javascript访问子类

时间:2015-08-16 19:43:45

标签: javascript getelementsbyclassname

<td <td class="upgrade_building b_wall">
    <a href="#" class="building_tooltip d_0" tooltip="<span class='icon header wood'></span> 801 <span class='icon header stone'></span> 1846 <span class='icon header iron'></span> 320<br />Población: 5<br />Tiempo de construcción: 3:12:01">10
    </a>
</td>

我制作了一个脚本来对元素进行自动点击&#34; building_tooltip d_0&#34;包含在&#34; upgrade_building b_wall&#34; 我试过这段代码:

javascript:var list = document.getElementsByClassName("building_tooltip d_0");
for (var i=0; i<list.length; i++) list[i].click();

但是在页面的DOM中还有其他元素&#34; building_tooltip d_0&#34;我不想跑,我只想运行&#34; upgrade_building b_wall&#34;。

有人能帮助我吗?

1 个答案:

答案 0 :(得分:0)

您可以使用现代浏览器支持的document.querySelectorAll

var list = document.querySelectorAll(".upgrade_building.b_wall > .building_tooltip.d_0");
for (var i=0; i<list.length; i++) {
    list[i].click();
}

或者,您可以在执行单击之前使用if语句检查节点是否具有正确的父节点:

var list = document.getElementsByClassName("building_tooltip d_0");
for (var i=0; i<list.length; i++) {
    if (list[i].parentNode.className === "upgrade_building b_wall") list[i].click();
}