JQUERY精选选择

时间:2011-08-17 06:32:14

标签: jquery

我想问一下编写这个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

2 个答案:

答案 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();