怎么用jquery选择一个div里面name等于bu 以外的html()呢!高手求解
例如<div id="print">
<div name="bu">11111</div>
<div>2222</div>
<div name="bu">3333</div>
<div name="bu">444</div>
<div>555</div>
</div>我想得到<div>2222</div>
<div>555</div>

解决方案 »

  1.   

            var str = '';
    $("#print div").each(function(){
      
    if($(this).attr("name")!="bu"){
    str+=$(this).html();
    }
      
    })
    alert(str);
      

  2.   

    <script type="text/javascript">
    $("#print div[name!='bu']").each(function(){
    alert(this.outerHTML);});
    </script>
    theforever_csdn: outerHTML是关键。
      

  3.   

    可能我表达的不是很清楚 。我想要的是html()这个div里所有元素但是除了name=bu的 最好不用循环 行不行。例如children() 这样筛选子元素后打印该 div
      

  4.   

    你到底是要那些元素,还是元素的HTML?
      

  5.   

    $("#print div[name!='bu']").each(function(){alert(this);});这里面的this就是那些元素。
    它们的连<DIV>在内的HTML就是this.outerHTML。
    它们的内容是this.innerHTML  , 或者是 this.innerText。后者只含纯文字,前者包括HTML标签。
    自己根据需要从this里取就行。至于打印还用说吗,最简单的document.write,但最好不要用这个有隐患的方法,改成对某个DIV的内容赋值更好点。如果是测试,目前ALERT这样就行了。
      

  6.   

    难道你的意思是
    alert($("#print div[name!='bu']").html())