2011-06-17 55 views
1
<div id="container"> 
    <div rownumber="0" messageid="155" class="post" style="position: relative; top: 0px;"> 
     <div class="post_body"><span>asdfjhasf as dfkhgfk dsfad fbd lfgldfgl dsgflag flugad luf gaduf ad fuilad lifg adslf gluad fluad fluiadlufg asu fglasd gfl</span></div> 
     <div class="post_info"><ul><li class="vote" id="voteli"> 
     </div> 
    </div> 
</div> 

所以容器div此刻只有一個孩子,但說它有10個或其他東西,數字是任意的。我將如何遍歷JQuery中的容器div併爲每個孩子調用div class="post_body"上的JQuery插件。通過外部div的JQuery循環

回答

2

像這樣:

$("#container > div").each(function() { 
    $("div.post_body", this).pluginMethod(); 
}); 
+2

這會工作,但你不需要子選擇或在元素上手動迭代。你正在導致dom遍歷發生多次。 –

2

從選擇器返回的jQuery對象是匹配元素的陣列。

既然你知道你的外部容器是什麼,並且你知道你想要對該類的所有元素進行操作,那麼你就知道你的選擇器。

$('#container .post_body').each(function(a,b) { }); 

此外,通常編寫插件來迭代該數組。所以,你應該能夠做到:

$('#container .post_body').plugin(); 
1
$('#container > .post > .post_body').pluginMethod();