jquery each()函数不按预期工作

时间:2013-05-02 20:45:40

标签: jquery

我正在尝试遍历表单中的所有输入,如果输入不包含值,则执行一些操作。

到目前为止,这是我的代码,

$('input').each(function() {
    if($(this+'[value!=""]')) {
        $('.requiredMark').hide();
        $(this).after(checkMark);   
    }       
});

我做错了什么?谢谢

5 个答案:

答案 0 :(得分:1)

if语句错了。 this不会引用字符串。使用.val()获取值:

 $('input').each(function(){
     var $this = $(this);

     if($this.val() != "") {
         $('.requiredMark').hide();
         $this.after(checkMark);   
     }       
 });

答案 1 :(得分:1)

您可以使用

代替$(this +'[value!=“”]')
if($(this).val()===''){
   //if the element has empty value, do something here
}

答案 2 :(得分:0)

这应该可以解决问题。

 $('input').each(function(){
            if($(this).val()){
                $('.requiredMark').hide();
                $(this).after(checkMark);   
            }       
      });

答案 3 :(得分:0)

您可以使用$(this)

访问输入字段

将其值$(this).val()

答案 4 :(得分:0)

$('input').val(function(index,el){
    if(el.length){
        alert('Has value')
    }
});

http://jsfiddle.net/VpmAv/