基于下面的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>
答案 0 :(得分:2)
您使用了错误的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。
答案 1 :(得分:0)
$( 'rightP。 ')(' 丽&GT; .message指p');
错误的陈述。你应该试试
。$( 'rightP ')发现(' 礼&GT; .message指p');
等...
答案 2 :(得分:0)
你可以得到所有像bellow
var messages = $('.rightP').find('li>.message>p');
$.each(messages,function(){
console.log(this);
});