我有这个代码。
$(".setHide").click(function () {
$('.newSet').find('input[type=text]').val('');
$(this).parent().hide();
它将检测到.setHide类的链接上的点击,然后:
1)清空.newSet div中的任何字段
2)隐藏.newSet div
我的问题是我有几个.newSet div打开,所以所有div中的所有字段都被清空。如何仅清空当前div中单击.setHide链接的字段?
感谢您的帮助!
答案 0 :(得分:2)
而不是:
$('.newSet').find('input[type=text]').val('');
试试这个:
$(this).find('input[type=text]').val('');
答案 1 :(得分:1)
使用parents()方法,查看jQuery Documentation
的工作原理$(".setHide").click(function () {
$(this).parents(".newSet")
.hide()
.find('input[type=text]')
.val('');
})
答案 2 :(得分:0)
$(".setHide").click(function(){
var $div = $(this).parent().hide();
$('.newSet input[type="text"]', $div).val('');
});
这将清除.newSet
内容.setHide
内的所有输入。
答案 3 :(得分:0)
您可以为选择器提供一个元素来开始搜索,在这个实例中,您希望它从当前元素开始。
$('.newSet', this).find('input[type=text]').val('');
答案 4 :(得分:0)
$(this).closest('.newSet').find('input[type=text]').val('');
答案 5 :(得分:0)
$('.setHide').click(function() {
var $newSet = $('.newSet', $(this));
$newSet.hide().find('input[type=text]').val('');
});