查找是否存在重复的名称属性

bry*_*yan 1 javascript jquery

假设我有以下内容;

<input type="text" id="1" name="1" value="" />
<input type="text" id="2" name="2" value="" />
<input type="text" id="3" name="3" value="" />
<input type="text" id="4" name="2" value="" />
Run Code Online (Sandbox Code Playgroud)

我试图有一个函数能够判断是否存在同名的属性。

因此,对于此示例,将出现一个具有重复名称属性的红旗id="4"

我知道我必须做这样的事情,但我可能在这里拐弯抹角。你们有什么感想?

function findDuplicates(name) {
    var found = 0;

    $("input").each(function() { 
         if($(this).attr('name') == name)
            found++;
    });

    return found;
}
Run Code Online (Sandbox Code Playgroud)

小智 5

尝试 jQuery 属性选择器:

if(1 < $('input[name=2][type=text]').length) {
    //duplicate
}
Run Code Online (Sandbox Code Playgroud)

所以你的函数将如下所示:

function findDuplicates(name) {
    return $('input[name='+ name +']').length;
}
Run Code Online (Sandbox Code Playgroud)

编辑

使用普通 JS:

function findDuplicates(name) {
    return document.getElementsByName(name).length;
}
Run Code Online (Sandbox Code Playgroud)