<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>
<script type="text/javascript" src="jquery-1.7.2.min.js"></script>
<script type="text/javascript">
$(function(){
$("#c>li:has(a)").attr("href","about:blank");
});
</script>
<body>
<ul id="c">
    <li><a href="http://www.baidu.com">b</a></li>
</ul>
</body>
</html>

解决方案 »

  1.   

    $("#c>li a").attr("href","about:blank");
      

  2.   


    //1)根据ID得到jQuery对象C,然后得到子元素对象li,得到后代元素对象a
      //$("#c>li a").attr("href","about:blank").css("background","yellow");
      //2)根据元素得到jQuery对象a
      //$("a").attr("href","about:blank").css("background","yellow");
      //3)根据元素得到对象li,选择li的第一个子对象
      //$("li :nth-child(1)").attr("href","about:blank").css("background","yellow");
      //5)根据元素得到对象li,得到li的第一个子对象
      //$("li :first-child").attr("href","about:blank").css("background","yellow");
      //6)根据元素得到对象li,得到属性href为http://www.baidu.com的对象
      //$("li [href='http://www.baidu.com']").attr("href","about:blank").css("background","yellow");
      //7)根据元素得到对象li,得到属性href以http://www.baidu开始的对象
      //$("li [href^='http://www.baidu']").attr("href","about:blank").css("background","yellow");
      //8)根据元素得到对象li,得到属性href以baidu.com结束的对象
      //$("li [href$='baidu.com']").attr("href","about:blank").css("background","yellow");
      //9)根据元素得到对象li,得到属性href中含有baidu的对象
      //$("li [href*='baidu']").attr("href","about:blank").css("background","yellow");
      //10)得到第一个(从0开始)a对象
      //$("a:eq(0)").attr("href","about:blank").css("background","yellow");
      //11)得到第一个a对象
      //$("a:first").attr("href","about:blank").css("background","yellow");  
      //12)得到含有文本为b的a对象
      //$("a:contains('b')").attr("href","about:blank").css("background","yellow");  
      //13)得到含有子元素,或者是文本元素的a对象
      //$("a:parent").attr("href","about:blank").css("background","yellow");
      //14)得到可见a对象
      //$("a:visible").attr("href","about:blank").css("background","yellow");    //jQuery的选择器非常非常的牛叉..... 各种选择,各种扩展!
    我能想到的有上面有些... 一起学习吧.
      

  3.   

    那能说说
    $("#c>li:has(a)").attr("href","about:blank");
    这一句错在哪吗?好像没错啊,说说错的原因
      

  4.   

    那能说说
    $("#c>li:has(a)").attr("href","about:blank");
    这一句错在哪吗?好像没错啊,说说错的原因
      

  5.   


    #c  使用id选择器,你获取的是id为c的对象,该对象是你HTML里面的ul元素
    >li 找到的是里面的子代元素数组<li>,是ul下面所有的子代li
    :has(a) "过滤"找到的还是li元素.是拥有<a>元素的li对象综上.你的这句$("#c>li:has(a)")找到的是ul对象下面的拥有a元素的  li 对象.你可以执行这句看一下结果:
    $("#c>li:has(a)").html("<div style='background:red;width:50px;height:50px'></div>");
      

  6.   

    ....亲,我试过你上面说的那个方法,出现了个红色方块...不是我要的效果我要的效果很简单就是把原来的链接改为空连接,通过attr改属性,原句应该按道理是对的,不知道为什么会出错~?
      

  7.   

    li:has(a)表示查找包含A标签的LI元素    结果是LI元素集合  不是A元素