我正在尝试为客户端编写一些特殊的验证代码。我想在jquery中的find函数中将几个选择器串起来这可能吗?
我试图说,例如,在当前可见的字段集中,找到type = text并且具有类" -required"的所有输入字段,也找到所有textarea字段也有班级" -required"。
我正在尝试这个,但它不起作用,它只选择Textarea字段
var reqButEmpty = $('fieldset:visible')
.find('input[type="text", class*="-required",textarea[class*="-required"]')
.filter(function()
答案 0 :(得分:4)
var reqButEmpty = $('fieldset:visible')
.find('input[type="text"].-required, textarea.-required')....
你有几个错误:
[type="text", ...
class*=
正在寻找类型为(<class>
)<强>更新强>
var reqButEmpty = $('fieldset:visible')
.find('input[type="text"], textarea').filter(function(){
return this.className.indexOf("-required") >= 0;
});
或者 @cliffs of the疯狂:
的建议var reqButEmpty = $('fieldset:visible')
.find('input[type="text"], textarea').filter('[class*="-required"]');
答案 1 :(得分:3)
你可以,但不是以你正在尝试的方式
.find('input[type="text"][class*="-required"],textarea[class*="-required"]')
要获得“和”行为,我们在同一个元素选择器上使用两个单独的“属性”选择器。
然后我们使用,
多重选择器来获取textarea
的“或”行为。
我还假设-required
是类名的一部分,而不是整个事物。一些HTML参考会有所帮助。