首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果name属性是数组,如何遍历jquery中的元素?

如果name属性是数组,如何遍历jquery中的元素?
EN

Stack Overflow用户
提问于 2014-11-30 03:34:06
回答 4查看 8.3K关注 0票数 2

如果name属性是数组,那么循环元素的最佳方法是什么?

例如

代码语言:javascript
复制
<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

非常感谢你的帮助!

谢谢,

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-11-30 03:38:33

可以使用如下所示的css选择器

代码语言:javascript
复制
$('input[name^="data"]').each(function(){
         //code
        alert($(this).attr('name'));
});

下面是一个JS Fiddle示例http://jsfiddle.net/cqatyghb/

这可能是最好的选择。基本上测试选择器以data[test-开头,以]结束

代码语言:javascript
复制
$('input[name^="data\\[test-"][name$="]"]').each(function(){
     alert($(this).attr('name'));
});
票数 6
EN

Stack Overflow用户

发布于 2014-11-30 03:40:35

现在您必须用双反斜杠\\转义特殊字符,您可以这样做。

代码语言:javascript
复制
$('[name^="\\[data-"]').each(function(){
   console.log($(this).attr("name").replace(/^\w+|[[]]/g,""));
});

jQuery文档

若要使用任何元字符(例如!#$%&‘()*+,./:;<=>?@[]^’{x}})作为名称的字面部分,必须使用两个反斜杠对其进行转义:\.例如,带有id="foo.bar“的元素可以使用选择器$("#foo\.bar")。

票数 2
EN

Stack Overflow用户

发布于 2014-11-30 03:40:57

这样您就可以使用$.each

代码语言:javascript
复制
$('input[type=hidden]').each(function(index, el) {
   console.log(index, el.value);
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27209718

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档