如:    <ul>
        <li>2</li>
        <li>
            <label id="lb">
            3
            </label>
        </li>
        <li>4</li>
    </ul>我要取的就是那两个没有label的li
我用$("li").not($("label")).remove();但他全给删除了
$("li").not($("label")) 无效?
谢谢

解决方案 »


  1.     <script language="javascript" src="js/jquery-1.3.2.js">
        </script>
        <script language = "JavaScript" type="text/javascript">
            $(document).ready(function(){
     $("li:not(:has('label'))").each(function(){alert($(this).html())})
            });
        </script>   <ul>
            <li>2</li>
            <li>
                <label id="lb">
                3
                </label>
            </li>
            <li>4</li>
        </ul>
      

  2. 行了,谢谢
    但我有问题,为什么我的不行呢$("li:not(:has('label'))").remove();  //行
    $("li:not(:has(label))").remove();    //行
    $("li").not($(":has(label)")).remove(); //行
    //为什么我的
    $("li").not($("label")).remove();//不行
    谢谢
      

  3. $(function(){
      var lis = $("li:not(:has('label'))");
    });
      

  4. li本身就不是lable呀,要找他的子元素
      

  5. 因为$("li").not($("label"))返回的结果就是你那三个li
      

类似问题 »