gpt4 book ai didi

javascript - jQuery - 获取不同 div 级别中最接近的元素

转载 作者:行者123 更新时间:2023-11-28 11:30:24 25 4
gpt4 key购买 nike

我正在使用 class="btn btn-primary modal-save" 单击列表按钮。

当我单击该按钮时,我希望它获取 div class="modal-body"textarea 元素。

由于某种原因,我的 closest() 方法没有按照我希望的方式运行,并且返回未定义

为什么以及如何解决?

$('.modal-save').on('click', function() {

var text = $(this).closest(".modal-footer")[0];
console.log(text) // this code works

var text = $(this).closest(".modal-body textarea")[0];
console.log(text) // this gives me undefined. Why??


});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="modal-content">
<div class="modal-header">...</div>
<div class="modal-body">
<textarea class="form-control" rows="10" placeholder='comment...'></textarea>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
<button type="button" class="btn btn-primary modal-save" data-dismiss="modal">Save changes</button>
</div>

最佳答案

closest 返回与选择器匹配的最近的祖先。如果不是直系祖先,那是行不通的。尝试首先选择 .modal-content(这是两者最近的共同祖先),然后然后尝试查找 textarea:

$('.modal-save').on('click', function() {
var text = $(this).closest(".modal-content").find("textarea");
console.log(text.val())
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="modal-content">
<div class="modal-header">...</div>
<div class="modal-body">
<textarea class="form-control" rows="10" placeholder='comment...'>foo</textarea>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
<button type="button" class="btn btn-primary modal-save" data-dismiss="modal">Save changes</button>
</div>

关于javascript - jQuery - 获取不同 div 级别中最接近的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51301051/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com