例如:
<ul>
<li><b>元素B的内容</b>元素LI的内容</li>
<li></li>
</ul>请问用JQuery 怎么获取“元素LI的内容”这个内容。

解决方案 »

  1.   

    如果页面有很多ui呢?jq怎么写?
    我一般是这样取值的,给ui设置id,然后循环取值:
    var par = document.getElementById('ui_id'); 
    for(var i = 0;i<par.children.length;i++){
       alert(par.children[i].innerHTML;);
    }
      

  2.   

    请看清楚问题:
    假如我给ul的id为ulid,
    我如果这样写。
    var lis = $("#ulid > li");
    lis.each(function(i){
     alert($(this).text());//结果为"元素B的内容 元素LI的内容".
    });结果就多了<b>元素内的文本,我意思是想只得到li里的直接文本。不要他里面的子元素的文本。
    就是想通过选择器或者其他方法简单地得到结果。
    这问题我是解决了的,不过我用到了正则表达式。想问下高手有没有更直接的方法而已。
      

  3.   

    试试,先为b元素指定一个id
    然后:$("#ulid > li").not("#bid").html
      

  4.   

    貌似没有简单方法,jq选择器不会去匹配文本节点
    所以只有正则
    alert($("ul li").html().replace(/<b>.*?<\/b>/ig,""));
      

  5.   


    var o=$("ul li").clone();
    o.find("b").remove();
    alert(o.html());
      

  6.   

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>test.html</title> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="this is my page">
    <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <script type="text/javascript" src="js/jquery-1.3.2min.js"></script>
    <script type="text/javascript">
    $( function() {
    alert($("li > b").siblings().html());
    });
    </script>
    </head> <body>
    <ul>
    <li>
    <b>元素B的内容 </b><span>元素LI的内容</span>
    </li>
    <li>
    </li>
    </ul> </body>
    </html>
    实验过了可以,只要把你要的取到的东西放在与<b>标签同级的就可以,是下吧!!