有如下结构
<div>
 <p>1</p>
 <div>
   <p>2</p>
   <div>
     <p>3</p>
     <div>
      <p>4</p>
     </div>
  </div>
 </div>
</div>现在的情况是 <p>4</p>外面到底有多少层div不确定如果得到<p>4</p>

解决方案 »

  1.   


    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
     <HEAD>
      <TITLE> New Document </TITLE>
      <META NAME="Generator" CONTENT="EditPlus">
      <META NAME="Author" CONTENT="">
      <META NAME="Keywords" CONTENT="">
      <META NAME="Description" CONTENT="">
      <script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
     </HEAD> <BODY>
     <script>  $(function (){
    $('#btn').click(function (){
    $('div').each(function (){
    if(this.parentNode.tagName=='DIV'){
    var div=this.getElementsByTagName('div');
    if(div.length>0){
    return true;
    }
    else{
    alert(this.innerHTML);
    }
    }
    })
    })
      });   </script>
       <div> 
      <p> 1 </p> 
      <div> 
          <p> 2 </p> 
          <div> 
              <p> 3 </p> 
              <div> 
                <p> 4 </p> 
              </div> 
        </div> 
      </div> 
    </div> <input type="button" id='btn' value='click me' /> </BODY>
    </HTML>
      

  2.   


    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
     <HEAD>
      <TITLE> New Document </TITLE>
      <META NAME="Generator" CONTENT="EditPlus">
      <META NAME="Author" CONTENT="">
      <META NAME="Keywords" CONTENT="">
      <META NAME="Description" CONTENT="">
      <script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
     </HEAD> <BODY>
     <script>  $(function (){
    $('#btn').click(function (){
    $('div').each(function (){
    if(this.parentNode.tagName=='DIV'){
    var div=this.getElementsByTagName('div');
    if(div.length>0){
    return true;
    }
    else{
    alert(this.innerHTML);
    }
    }
    })
    })
      });   </script>
       <div> 
      <p> 1 </p> 
      <div> 
          <p> 2 </p> 
          <div> 
              <p> 3 </p> 
              <div> 
                <p> 4 </p> 
              </div> 
        </div> 
      </div> 
    </div> <input type="button" id='btn' value='click me' /> </BODY>
    </HTML>
      

  3.   

    给要选择的标签加上id
    $("#id")
    不这样做就浪费点新能
    var arr = $("p");
    var p;
    for(var i=0;i<a.length;++i)
      if(arr[i].val()== "4"){
         p = arr[i];
         return;
      }
      

  4.   

    非常感谢1楼的朋友
    但是这个结构变成这样呢<div> 
      <p> 1 </p> 
      <div> 
          <p> 2 </p> 
          <div> 
              <p> 3 </p> 
              <div> 
                <p> 4 </p> 
              </div> 
        </div> 
      </div> 
    </div> 
    <div> 
      <p> 5 </p> 
      <div> 
          <p> 6</p> 
          <div> 
              <p> 7 </p> 
              <div> 
                <p> 8 </p> 
              </div> 
        </div> 
      </div> 
    </div> 
    如何返回一个jquery对象
    这个对象包含[<p>4</p>,<p>8</p>]
      

  5.   

    alert($('div:not(:has(div)) p').text());这样写就行了.LZ你表达的并不是很清楚啊,呵呵,很容易被误解的.选择器可以按一定规则嵌套使用的,写这样的东西还是蛮简单...
      

  6.   

    $('div:not(:has(div)) p')得到的就是2个<p>元素
      

  7.   

    $("div div div div p")
    返回一个数组,包含了你要的