找到指定类的每个div

时间:2013-08-01 00:24:06

标签: jquery html css

var data='<div class="shout_msg">
    <span class="username">3</span>
    <span class="message">hello</span>
</div>
<div class="shout_msg">
    <span class="username">0</span>
    <span class="message">yo</span>
</div>
<div class="shout_msg">
    <span class="username">0</span>
    <span class="message">hey</span>
</div>
<div class="shout_msg">
    <span class="username">0</span>
    <span class="message">haha</span>
</div>';

$(data).find(".shout_msg").each(function(index){ 
    console.log($(this).find("span.username").text() ); 
});

它没有返回任何东西。基本上,变量中显示的数据来自AJAX请求。但无论如何我犯了一个愚蠢的错误或其他什么。请纠正我。

2 个答案:

答案 0 :(得分:5)

在这种情况下,您可能希望使用filter,因为您没有在对象内搜索。

$(data).filter(".shout_msg").each(function(index){ 
  console.log( $(this).find("span.username").text() );
});

这是一个快速演示。

http://jsbin.com/ocefeq/1/edit

答案 1 :(得分:2)

你应该在这里使用filter

$(data).filter(".shout_msg").

您需要访问第一级元素,但find会尝试获取不包含当前级别的元素,而是获取后代。

<强> Check Fiddle