jQuery select 同一父元素中具有某些 class 的另一个元素
jQuery select another element with certain class in same parent
假设我有这个div
<div id='parent'>
<button id='button'></button>
<div id='child'>
<div id='grandchild' class='lookAtMe'>
Some JSON text
</div>
</div>
</div>
我想给#button 一个点击事件,返回#lookAtMe div 处的文本,特定于它共享parent/grandparent 的div(在本例中, #parent div)
我尝试使用:
$("#button").on("click",function(){
var ReturnedText = $(this).parent(".lookAtMe").text();
console.log(RetrunedText);
});
但是控制台日志会重新显示(空字符串)。
我哪里做错了?请帮忙。非常感谢。
因为 class 没有 parent。你需要 find()
.
其实你需要写
var ReturnedText = $(this).parent().find(".lookAtMe").text();
$("#button").on("click",function(){
var ReturnedText = $(this).parent().find(".lookAtMe").text();
console.log(ReturnedText);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id='parent'>
<button id='button'></button>
<div id='child'>
<div id='grandchild' class='lookAtMe'>
Some JSON text
</div>
</div>
</div>
假设我有这个div
<div id='parent'>
<button id='button'></button>
<div id='child'>
<div id='grandchild' class='lookAtMe'>
Some JSON text
</div>
</div>
</div>
我想给#button 一个点击事件,返回#lookAtMe div 处的文本,特定于它共享parent/grandparent 的div(在本例中, #parent div)
我尝试使用:
$("#button").on("click",function(){
var ReturnedText = $(this).parent(".lookAtMe").text();
console.log(RetrunedText);
});
但是控制台日志会重新显示(空字符串)。
我哪里做错了?请帮忙。非常感谢。
因为 class 没有 parent。你需要 find()
.
其实你需要写
var ReturnedText = $(this).parent().find(".lookAtMe").text();
$("#button").on("click",function(){
var ReturnedText = $(this).parent().find(".lookAtMe").text();
console.log(ReturnedText);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id='parent'>
<button id='button'></button>
<div id='child'>
<div id='grandchild' class='lookAtMe'>
Some JSON text
</div>
</div>
</div>