有没有办法在find()
之后链接val()
?
例如,给定以下代码,我想清除所有输入的值,但只切换具有required
类的输入的.required
属性:
$('#some-selector')
.find(':input')
.val('')
.find('.required')
.prop('required', someBoolean);
从jQuery docs开始,val()
显然会返回字符串,数字或数组。在我看来,find()
将不会对此返回值起作用,因为我认为它需要一个jQuery对象。
所以有几个问题:
find()
链接到val()
.required
所需的所有输入和切换。谢谢!
答案 0 :(得分:7)
问题不在于链接,而在于您重复使用find()
。
第一个find()
检索所有:input
元素并清除它们的值,这很好。然而,第二个find()
正在里面搜索input
的所有.required
元素。这可能无效,因为input
不能包含子元素(select
除外,但在这种情况下不适用)。
您需要在当前集合中搜索类required
的元素。为此,请使用filter()
代替:
$('#some-selector')
.find(':input').val('')
.filter('.required').prop('required', someBoolean);