日期:2014-05-16  浏览次数:20346 次

jQuery如何获取某元素之外的所有同类元素
HTML code

<ol id="orderedlist2">
        <li>First element, second list</li>
        <li>Second element, second list</li>
        <li>Third element, second list</li>
        <li>Li with child ul
            <ul>
                <li>Child One<a href="#">123</a></li>
                
                <li>child two</li>
            </ul>
        </li>
    </ol>



JScript code
$(document).ready(function() {
    $("li").not("[ul]").css("border","1px solid black");
});


如何获取 除了包含 "ul"元素之外的所有 li 元素,上面的写法不出效果。

------解决方案--------------------
JScript code
$("#orderedlist2 > li:not(:has(ul))").css("border","1px solid black");

------解决方案--------------------
探讨

JScript code
$("#orderedlist2 > li:not(:has(ul))").css("border","1px solid black");

------解决方案--------------------
探讨

$("#orderedlist2 > li:not(:has(ul))").css("border","1px solid black");

另外这里的 #orderedlist2 > li 和 #orderedlist2 li 只是写法上的简化吗?

------解决方案--------------------
JScript code
        $("#orderedlist2 > li").not(":has(ul)").css("border","1px solid black");
        // 或者
        $("#orderedlist2 > li").filter(function(){
            return $(this).has("ul").length === 0 ? true : false;
        }).css("border","1px solid black");