table元素引发的

然则本文转达的意义和table无关,嘻嘻…..

请求:挑选#table1下的两个子元素tr



<table id="table1">
    <tr>
        <td>
            <table id="table2">
                <tr>行行1</tr>
                <tr>行行2</tr>
            </table>
        </td>
    </tr>
    <tr>行2</tr>
</table>



第一次测试:document.querySelector("#table1 tr"),测试发明只能挑选一个tr,不符合请求;

第二次测试:document.querySelectorAll("#table1 tr"),测试挑选出四个tr,不符合请求,这是因为内里包括一个table致使。实行document.querySelectorAll("#table1 tbody"),内里有两个tbody(为何内里会有tbody,自行谷歌关键词thead,tbody,tfoot);

第三次测试:document.querySelectorAll("#table1>tbody>tr")效果符合请求;

综上所述,那末题目来了。
querySelector()经由过程CSS的挑选器只能选单一的元素(纵然内里的挑选器是*,也没法挑选多个元素),选多个元素需要用querySelectorAll(),这个和Jqery是不一样的,不要殽杂。
#table1>tbody内里>号能够挑选以#table1为父级的子元素,不加这个则返回内部一切,所以要熟记CSS挑选器啊。

    原文作者:代码碎片
    原文地址: https://segmentfault.com/a/1190000000725806
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞