[英]Using Javascript to select nested element
如何选择嵌套元素
例如
我们有这样的事情(这是列表页上看起来LinkedIn搜索人员时等)
<li class="page-list">
<ol>
<li class="active">1</li>
<li><button data-ember-action="" data-ember-action-6289="6289" data-is-animating-click="true">2</button></li>
<li><button data-ember-action="" data-ember-action-6291="6291">3</button></li>
<li><button data-ember-action="" data-ember-action-6293="6293">4</button></li>
<li><button data-ember-action="" data-ember-action-6295="6295">5</button></li>
<li><button data-ember-action="" data-ember-action-6297="6297">6</button></li>
<li><button data-ember-action="" data-ember-action-6299="6299">7</button></li>
<li><button data-ember-action="" data-ember-action-6301="6301">8</button></li>
<li><button data-ember-action="" data-ember-action-6303="6303">9</button></li>
<li><button data-ember-action="" data-ember-action-6305="6305">10</button></li>
</ol>
</li>
现在,就像这样,页面上有多个li元素,但只有一个元素带有<li class="page-list">
现在,从这个li我想点击/选择这个
<button data-ember-action="" data-ember-action-6291="6291">3</button>
它进一步嵌套在<li>
[问题]有人可以帮助我,告诉我如何选择/点击这个? 另外我不能使用data-ember-action
因为在data-ember-action-6289中,6289不是固定的和随机的(对于不同的搜索可能不同),因此当我创建一个脚本来执行操作时,它不会了解data-ember-action中的数字。
一个简单的querySelector
会这样做:
console.log(document.querySelector('[data-ember-action-6291="6291"]'))
<li class="page-list"> <ol> <li class="active">1</li> <li><button data-ember-action="" data-ember-action-6289="6289" data-is-animating-click="true">2</button></li> <li><button data-ember-action="" data-ember-action-6291="6291">3</button></li> <li><button data-ember-action="" data-ember-action-6293="6293">4</button></li> <li><button data-ember-action="" data-ember-action-6295="6295">5</button></li> <li><button data-ember-action="" data-ember-action-6297="6297">6</button></li> <li><button data-ember-action="" data-ember-action-6299="6299">7</button></li> <li><button data-ember-action="" data-ember-action-6301="6301">8</button></li> <li><button data-ember-action="" data-ember-action-6303="6303">9</button></li> <li><button data-ember-action="" data-ember-action-6305="6305">10</button></li> </ol> </li>
如果您不能指望data-
属性,那么只需选择ol
的第三个子项:
console.log( document.querySelector('.page-list li:nth-child(3)') );
<li class="page-list"> <ol> <li class="active">1</li> <li><button data-ember-action="" data-ember-action-6289="6289" data-is-animating-click="true">2</button></li> <li><button data-ember-action="" data-ember-action-6291="6291">3</button></li> <li><button data-ember-action="" data-ember-action-6293="6293">4</button></li> <li><button data-ember-action="" data-ember-action-6295="6295">5</button></li> <li><button data-ember-action="" data-ember-action-6297="6297">6</button></li> <li><button data-ember-action="" data-ember-action-6299="6299">7</button></li> <li><button data-ember-action="" data-ember-action-6301="6301">8</button></li> <li><button data-ember-action="" data-ember-action-6303="6303">9</button></li> <li><button data-ember-action="" data-ember-action-6305="6305">10</button></li> </ol> </li>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.