jQuery 如何获取嵌套较深的相同节点
举个例子:
demo.html
<div class="one">
<div class="two">
<div class="three"><button class="btn">Click one</button></div>
</div>
</div>
<div class="one">
<div class="two">
<div class="three"><button class="btn">Click one</button></div>
</div>
</div>
<div class="one">
<div class="two">
<div class="three"><button class="btn">Click three</button></div>
</div>
</div>
请问当我点击第一个 button 后,该如何用 $(this) 如何获得第二个 button 的 text 值.
这里的 3 个 class="one" 的 div 都是可以随意删除的.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
借用公子的fiddle改了一下,供参考,主要是使用了
closest
这个方法。http://jsfiddle.net/whxvaeou/5/
原来之前的评论中已经提到了呀,重复了,呵呵。
jquery主要就是dom操作,所以页面结构布局在设计方面就得考虑清楚。具体业务具体处理,并没有什么通用的解决办法。
原先的答案,没有覆盖动态增删的场景。
新答案:
既然题目变成了动态增删,个人认为最优的答案已经由@KevinYue给出,美刀符只出现了一次,省资源:)
那么我来一个原生方案好了。扩展一下,假设它们有一个共同的父级#container.
http://jsfiddle.net/ruart0vz/1/
知识点在于
getElementsByClassName
返回的是一个live node list,每次调用都会查询最新版本的DOM,因此不会有更新问题。var tt = $("button").eq(1).text();
alert(tt);