我想用一个名为“validate_me”的类来选择和元素,但我不想包含任何元素,如果它们已经在其中有文本,但我仍然坚持jquery。它看起来像“:contains()”可以做到这一点,但我不想搜索特定的字符串,我只是想“排除”任何已经包含文本的元素。
我希望这是有道理的......我怎么能这样做?
提前致谢。
这是我之前尝试过的,但显然不起作用:
$("input.validate_me:not(:contains('any text is allowed')),select").addClass("ui-state-error");
答案 0 :(得分:2)
$('input.validate_me').filter(function() { return $(this).val() == ""; }).addClass("ui-state-error");
答案 1 :(得分:1)
试试这个
Wroking demo
$(function(){
$("input.validate_me").filter(function(){
return !$(this).val();
}).add("select").addClass("ui-state-error");
});
答案 2 :(得分:0)
$('input').each(function() {
if ($(this).val() != '') {
$(this).addClass("ui-state-error");
}
});
答案 3 :(得分:0)
并且为了多个解决方案,您始终可以将不需要的节点放在数组中并将其传递给.not()方法
var nodeArray = [];
var nodeList = $("input.validate_me");
for (var i = 0; i < nodeList.length; i++ )
if ($("input.validate_me")[i].value.length > 0)
nodeArray.push($("input.validate_me")[i]);
nodeList.not(nodeArray).addClass("ui-state-error");