jQuery 循环遍历表单元素并选择特定的 id

标签 jquery

目前我正在循环遍历我的表单元素并通过检查来验证它 如果用户输入了任何内容。除非我需要使用不同的 特定字段的验证。具体来说,我需要验证是否有效 电话号码。这是我的代码。我正在遍历所有输入元素但是 需要挑选出具有 id 电话号码的元素并查看它是否是 有效的电话号码。只是没有达到条件来查看是否 属性是电话号码。非常感谢任何帮助。

$("#phoneForm :input").each(function(){

    var placeholderText = $(this).attr("placeholder");                          

    if($(this).val().length == 0){             
        alert(placeholderText.replace('*','') + ' field is required');
        $(this).focus();
        valid = false;
        return false;
    }       

    if($(this).attr("id['phoneNumber']")){
    alert(placeholderText + " check phone number");
    }

});

最佳答案

我认为您需要将条件语句更改为如下所示:

if($(this).attr("id") == 'phoneNumber'){
  alert(placeholderText + " check phone number");
}

选择器id[phoneNumber]根本无效。我认为您将语法与另一个选择器混淆了...如果您只想匹配 ID 中包含 phoneNumber 的元素,您可以使用如下内容:

$("element[id='phoneNumber']")

虽然这个例子可能有点奇怪,因为有一个特定的选择器来匹配元素的 id。但是..众所周知 - 给 unicorn 剥皮的方法不止一种:)


最后一点:您已经使用 $(this).attr("id") 来提取给定元素的 id,而实际上您可以简单地使用原生 JavaScript 可以像这样提取该属性:

this.id

所以把所有这些放在一起会导致这样的结果:

if(this.id == 'phoneNumber'){
  alert(placeholderText + " check phone number");
}

即使您现阶段还没有真正感觉到,这肯定会提高代码的性能。一旦您开始使用一些更复杂和密集的 JS 应用程序,您就会开始注意到这些改进。
(感谢 David Thomas 向我指出这一点,并感谢 jfriend00 说服我编辑我的答案:P)

关于jQuery 循环遍历表单元素并选择特定的 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16490903/

相关文章:

python - 结合 django-filter DateTimeFromToRangeFilter 和 DateTimeInput(datepicker)

javascript - 创建背景图像以与页面内容不同的速率滚动的效果

javascript - JqG​​rid从服务器更新数据

javascript - 在 jQuery 克隆中查找元素

javascript - 什么是带有选项卡的好的 JavaScript 网格?

javascript - Enter 上的 ScrollMagic 无法正常工作

jquery - 使一些元素不可选择 jquery ui

javascript - 当元素被放入其中时,使可放置的 div 展开。使用可拖动的 jquery ui

javascript - jquery中如何提取多维数组?

javascript - 表单提交不传递按钮名称