在下面的代码片段中,我希望在单击Edit
按钮时获得Text to grab
:
<div class="row">
<div class="col-xs-12">
<div class="pbody">
<p>Text to grab</p>
</div>
</div>
</div>
<br>
<div class="row treply">
<div class="col-xs-1">
<p>Hi there</p>
</div>
<div class="col-xs-1">
<a class="quote btn" href="#">reply</a>
</div>
<div class="col-xs-1">
<a class="edit btn" href="#">Edit</a>
</div>
</div>
有几个带有pbody
类的div,但我想要在单击的Edit
按钮上获得直接的div。
我尝试过很多jQuery技巧,比如:
$(document).ready(function () {
$(".edit").click(function () {
let postText = $(this).closest(".pbody").children("p").text();
console.log("postText is:", postText);
});
});
但都不管用。所以非常感谢你的帮助。
发布于 2019-06-01 01:34:32
您没有根据您的HTML遍历DOM。试着这样做:
$(document).ready(function() {
$(".edit").click(function() {
let postText = $(this).closest(".row.treply").prev('br').prev('.row').find('div.pbody > p').text();
console.log("postText is:", postText);
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="row">
<div class="col-xs-12">
<div class="pbody">
<p>Text to grab</p>
</div>
</div>
</div>
<br>
<div class="row treply">
<div class="col-xs-1">
<p>Hi there</p>
</div>
<div class="col-xs-1">
<a class="quote btn" href="#">reply</a>
</div>
<div class="col-xs-1">
<a class="edit btn" href="#">Edit</a>
</div>
</div>
参考文献:
https://stackoverflow.com/questions/56399414
复制相似问题