如何获得相似名称的元素? jQuery的

时间:2013-04-29 08:24:52

标签: javascript jquery html

<input name="Indian_Karnataka_Bangalore" value="Bangalore" />
<input name="Indian_Andhra_Hyderabad" value="Hyderabad" />
<input name="Indian_Kerala_Trivandrum" value="Trivandrum" />
<input name="Indian_Maharashtra_Mumbai" value="Mumbai" />

在给定时间,DOM中只有一个输入元素。我如何知道特定输入元素名称的名称?我不想依赖价值观,因为它可能会改变。 使用jQuery。

INDIAN术语在每个输入元素中都是静态的。

实际上我正在尝试验证输入元素。 DOM将拥有所有元素,但在给定时间只有一个元素处于活动状态,并且该元素应该具有一些值。

5 个答案:

答案 0 :(得分:2)

var $inputs = $('input[name*="Indian"]'),
    inputsName = $inputs.attr('name');

您可以使用与CSS相同的选择器。

Chris Coyier写了一篇关于属性选择器的文章here

答案 1 :(得分:1)

var indianInputs = $("input[name^='Indian']"); 
//Matches all input elements whose name attrributes 'begin' with 'Indian'

这与@ahren发布的不同之处在于,他的选择器将匹配名称属性 包含 字符串'Indian'的所有输入元素。

indianInputs.attr("name");

将返回第一个匹配元素的name属性的值,对于您的标记将为 Indian_Karnataka_Bangalore

要查找所有indianInputs的名称,您必须遍历所有匹配的元素

var indianInputNames = [];
indianInputs.each(function() {
    indianInputNames.push($(this).attr("name"));
});

答案 2 :(得分:0)

 $('input[name="element_name"]')

您可以通过属性检查http://api.jquery.com/category/selectors/attribute-selectors/

的名称选择多种方式

答案 3 :(得分:0)

尝试

var name = $('input[name^="Indian_"]').attr('name')

答案 4 :(得分:0)

您是否尝试过滤功能?像这样:

$('input:visible')
    .filter(function() {
        return $(this).attr("name").match(/^Indian/);
});

这将返回一个名称以“Indian”开头的输入元素数组。 这里有一个很好的例子:https://stackoverflow.com/a/193787/1237117