jquery 获取层级元素

qq3895 2013-09-12 10:23:13
$(function () {
$("#bt1").click(function () {
var txt1 = $("div > p").text();

alert(txt1);
});

$("#bt2").click(function () {
var txt2 = $("div + p").text();
alert(txt2);
});

$("#bt3").click(function () {
var txt3 = $("div ~ p").text();
alert(txt3);
});
});



<input id="bt1" type="button" value="获取div下所有的p标签"/>
<input id="bt2" type="button" value="匹配紧跟在 div 元素后的 p 一个元素"/>
<input id="bt3" type="button" value="匹配跟在 div 元素后的所有 p 元素" />


<p>1</p>
<p>2</p>
<p>3</p>
<p>4</p>
<div>
<p>5</p>
<p>6</p>
<p>7</p>
<p>8</p>

</div>


点击btn2为什么弹出来的是空白的

求解!!!!!!!!!!!
...全文
238 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
流浪人_is_me 2013-09-12
  • 打赏
  • 举报
回复
用next就行
tony4geek 2013-09-12
  • 打赏
  • 举报
回复
  var txt2 = $("div p:first").text();
                alert(txt2);
katrinaqian 2013-09-12
  • 打赏
  • 举报
回复
第二个按钮可以这样改改

$("#bt2").click(function () {
    var txt2 = $("div > p:first").text();
    alert(txt2);
});
caizhenbo299 2013-09-12
  • 打赏
  • 举报
回复
+相当于获得节点的下一个兄弟节点,相当于next()方法,你这里下一个节点又没有P元素,当然为空
fzfei2 2013-09-12
  • 打赏
  • 举报
回复
+ 紧接着第一个元素 ,上面HTML中 </div> 后没有 p 了
Harley-Chang 2013-09-12
  • 打赏
  • 举报
回复
<input id="bt3" type="button" value="匹配跟在 div 元素后的所有 p 元素(遍历除了本身的同级元素(此id后))" />
Harley-Chang 2013-09-12
  • 打赏
  • 举报
回复
引用 6 楼 qq3895 的回复:
那bt3点击出来的怎么是1234 bt2点出来的没有,bt3怎么会有
实际测试btn3与btn2一样效果,lz再试试
qq3895 2013-09-12
  • 打赏
  • 举报
回复
那bt3点击出来的怎么是1234 bt2点出来的没有,bt3怎么会有

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧