如果name属性是数组,那么循环元素的最佳方法是什么?
例如
<input type="hidden" name="data[test-1]" value="1" />
<input type="hidden" name="data[test-2]" value="2" />
<input type="hidden" name="data[test-3]" value="3" />
<input type="hidden" name="data[test-4]" value="4" />然后我将能够得到数组索引。
测试-1测试-2测试-3测试-4
非常感谢你的帮助!
谢谢,
发布于 2014-11-30 03:38:33
可以使用如下所示的css选择器
$('input[name^="data"]').each(function(){
//code
alert($(this).attr('name'));
});下面是一个JS Fiddle示例http://jsfiddle.net/cqatyghb/
这可能是最好的选择。基本上测试选择器以data[test-开头,以]结束
$('input[name^="data\\[test-"][name$="]"]').each(function(){
alert($(this).attr('name'));
});发布于 2014-11-30 03:40:35
现在您必须用双反斜杠\\转义特殊字符,您可以这样做。
$('[name^="\\[data-"]').each(function(){
console.log($(this).attr("name").replace(/^\w+|[[]]/g,""));
});jQuery文档
若要使用任何元字符(例如!#$%&‘()*+,./:;<=>?@[]^’{x}})作为名称的字面部分,必须使用两个反斜杠对其进行转义:\.例如,带有id="foo.bar“的元素可以使用选择器$("#foo\.bar")。
发布于 2014-11-30 03:40:57
这样您就可以使用$.each:
$('input[type=hidden]').each(function(index, el) {
console.log(index, el.value);
});https://stackoverflow.com/questions/27209718
复制相似问题