我想问一下编写这个JQUERY代码的最佳方法。 我有这样的DOM结构:
<div id="chatCenterMembers">
<div id="adam" class="chatmember 100">
<div class="newchatmessage" style="display: block;"></div>
</div>
<div id="steven" class="chatmember 101">
<div class="newchatmessage"></div>
</div>
</div>
我想提取一个userid的列表 - 例如:100,101个类名到数组中,其中带有“newchatmessage”类的DIV将样式设置为显示块 - 例如:它可见。
我可以使用$ .each循环来实现它,但它似乎效率低下。
有更好的方法吗? THX
答案 0 :(得分:1)
您可以像这样收集所有需要的可见元素:
$(".chatmember .newchatmessage").filter(":visible").each(function()
{
//Extract here any information you want, i.e.
//this.className.match(/[0-9]+/)
});
答案 1 :(得分:0)
试试这段代码:
$('.newchatmessage').map(function(){
if ($(this).css('display') == 'block')
return $(this).parent().attr('class').replace('chatmember ','');
}).get();