<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将拥有所有元素,但在给定时间只有一个元素处于活动状态,并且该元素应该具有一些值。
答案 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。