基于下面的 DOM 树,我想得到所有的 <p>
元素是每个带有 message
的 div 的子元素作为它的类并将它们全部放在一个数组中。这将创建一个对象数组。
备注:ul
并且所有级别的所有子级都可以在任何给定时间动态添加到 dom。
我该怎么做?
我试过了
var messages = $('.rightP').find('li>.message>p');
$.each(messages,function(){
console.log(this);
});
但没有运气
DOM 树
<ul class="rightP">
<li>
<div class="sender">
<p>David</p>
</div>
<div class="message">
<p>Hello</p>
</div>
</li>
<li>
<div class="sender">
<p>Watson</p>
</div>
<div class="message">
<p>yes anything?</p>
</div>
<div class="message">
....
</li>
...
</ul>
最佳答案
您使用了错误的 jQuery 选择器。将 $('.rightP').('li>.message>p')
替换为 $('.message > p')
或者您可以这样做.
var messages = jQuery('.message > p');
jQuery.each(messages, function (index, elem) {
var message = jQuery(elem);
console.log(message.text())
});
这是 working fiddle .
关于javascript - JQuery:如何获取 DOM 树中所有最底层的 child ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25130851/