繁体   English   中英

如何选择没有id或类的嵌套元素?

[英]How can I select a nested element without an id or class?

例如,假设我有以下HTML:

<div>
  <table>
    <tr>
      <td>X</td>
      <td></td>
    </tr>
  </table>
</div>

<div></div>

我希望在td元素中使用X来获取值。 我知道我显然会使用

var foo = document.getElementsByTagName("TD")[0].innerHTML;

为了选择那个特定的td元素,而不是其中一个。 但是,鉴于我知道元素的路径,如何以这种方式使用javascript来选择这个特定的值?

你应该先得到tr

 var tr = document.getElementsByTagName("tr")[0]; var foo = tr.getElementsByTagName("td")[0].innerHTML; console.log(foo); 
 <div> <table> <tr> <td>X</td> <td></td> </tr> </table> </div> <div></div> 

选择1:继续前进。

document.getElementsByTagName("div")[0].getElementsByTagName("tr")[0].getElementsByTagName("td")[0]

选项2: querySelector

document.querySelector("div tr td")

querySelector就像使用CSS选择器一样。 您甚至可以按类或ID进行选择。 注意:如果要选择多个元素,请使用querySelectorAll

作为旁注, document.querySelectorAll("div")document.getElementsByTagName("div")之间存在重要区别,前者返回NodeList ,后者返回HTMLCollection

文档: document.querySelector()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM