问一个正则表达式
我需要在页面JS中获取页面中的元素。在这些元素中包含一些相同类型的文本域。如
items[0].itemName
items[1].itemName
items[2].itemName
items[0].itemCode
items[1].itemCode
items[2].itemCode
比如,我想在JS里面遍历的时候获得所有的items[n].itemName 的控件。
现在我用items\[/d\].itemName 好像是错误的。
请问这个正则应该如何写呢?应该只需要匹配中间的数字就好吧?那为什么items\[/d\].itemName无效呢?
谢谢各位了!
------解决方案--------------------alert(/items\[\d+\]\.itemName/.test('items[0].itemName'));
------解决方案--------------------楼主可以去看看jquery的xpath操作。像这样写法:$("input[name*=itemName]") 可能能更好的解决你的问题。
------解决方案--------------------如果itemName是标签中的Attribute属性,如<textarea itemName></textarea>这种形式的,直接用选择器就可以把他们提取出来
var list=document.querySelectorAll("textarea[itemName]");
不然就要去遍历了
var items=document.querySelectorAll("textarea");
var list=[];
for(var i=0,len=items.length; i<len; i++){
if(items[i].itemName!=null
------解决方案--------------------
items[i].getAttribute("itemName")!=null){
list.push(items[i]);
};
};