查找具有6个以上孩子的特定div中的所有ul元素? (使用jQuery)

时间:2012-12-08 21:43:11

标签: jquery attributes html-lists css-selectors

如何找到特定div中具有6个以上li子元素的所有ul元素并添加UL元素的属性(即data-theme =“d”)

<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 个答案:

答案 0 :(得分:2)

$('#dicCntr ul').filter(
    function() {
        return $(this).children().length > 6;
    }).attr('data-theme', 'd');

答案 1 :(得分: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')      
    }
}