2012-12-08 46 views
0

我如何找到特定專區內有大於6點的孩子,並添加UL元素的屬性(即數據主題=「d」)查找具有多於6個孩子的特定div中的所有ul元素? (使用jQuery)

<div id="dicCntr"> 
    <ul id="ul1"> 
     <li id="li1">A</li> 
     <li id="li2">A</li> 
     <li id="li3">A</li> 
     <li id="li4">A</li> 
     <li id="li5">A</li> 
     <li id="li6">A</li> 
     <li id="li7">A</li> 
     <li id="li8">A</li> 
     <li id="li9">A</li> 
    </ul> 
    <ul id="ul2"> 
     <li id="li10">B</li> 
     <li id="li11">B</li> 
    </ul> 
    <ul id="ul3"> 
     <li id="li12">C</li> 
     <li id="li13">C</li> 
     <li id="li14">C</li> 
     <li id="li15">C</li> 
     <li id="li16">C</li> 
     <li id="li17">C</li> 
     <li id="li18">C</li> 
    </ul> 
    <ul id="ul4"> 
     <li id="li19">D</li> 
     <li id="li20">D</li> 
    </ul> 

</div> 

回答

2
$('#dicCntr ul').filter(
    function() { 
     return $(this).children().length > 6; 
    }).attr('data-theme', 'd'); 
所有的UI元素
+0

這是除了'。數據(「主題」,「d」)是個好主意'實際上並沒有一個屬性添加到如果這是OP實際需要的項目。它只在jQuery專用的'data'字典中添加一個條目,這是一個jQuery專用數據結構。 – jfriend00

+0

@ jfriend00:謝謝你的收穫! *編輯* =) –

0

我知道這個問題說具體的jQuery但爲什麼不常規的JavaScript

var ulHolder = document.getElementById('dicCntr') 
uls = ulHolder.getElementsByTagName('ul'); 
for (i=0; i<uls.length; i++) { 
    if (uls[i].children.length > 6) { 
     uls[i].setAttribute('data-theme', 'd')  
    } 
} 
相關問題