根据ID值选择DOM元素
Selecting DOM elements based on ID values
DOM中有一些文本框,比如
<INPUT id=txtQuantity587117 />
<INPUT id=txtQuantity587118 />
<INPUT id=txtQuantity587119 />
<INPUT id=txtQuantity587111 />
<INPUT id=txtQuantity587112 />
元素都是嵌套的,不在任何特定的父节点下。
是否有一种方法可以选择所有id text以"txtQuantity"开头的输入元素?
我想要一个方法与javascript,而不是与Jquery。谢谢。
在现代浏览器中(也包括IE8)…现在验证),您可以使用document.querySelectorAll()
作为attribute-starts-with
选择器。
var els = document.querySelectorAll("input[id^=txtQuantity]");
这里有一些代码,不依赖于任何"现代"的API调用除了Array.filter
,这是比document.querySelectorAll
容易得多:
var els = [].filter.call(document.getElementsByTagName('input'), function(el) {
return /^txtQuantity/.test(el.id);
});
使用适当的shim,这应该可以在MSIE 5.5以后的任何浏览器上工作。
见http://jsfiddle.net/alnitak/9jEzj/
没问题…
var inputs = document.getElementsByTagName("input");
var matches = [];
for(var i = 0; i < inputs.length; i++){
var input = inputs[i];
if(input.id.indexOf("txtQuantity") == 0){
matches.push(input);
}
}
//matches will be an array of the matched elements
下面是一个工作示例
相关文章:
- 如何在DOM元素上按类型构建此函数
- DOM元素和angular元素之间的主要区别是什么
- 当带有渲染器的DOM元素不在屏幕顶部时,移动了场景的坐标
- 使用jquery创建dom元素会导致ie9出现拒绝访问错误
- 如何在使用Ractive.extend()时引用DOM元素
- 在d3中向DOM元素添加了图像,但现在它赢得了't过渡
- 如何'剪切'DOM元素并将其显示在其他位置
- 转换<a>使用jQuery将文本字符串转换为dom元素
- d3在数据更新时错误地附加了dom元素
- 访问VueJS中的DOM元素
- 在Meteor中如何查找DOM元素(渲染后)
- IE9-添加和删除DOM元素会破坏父keydown事件
- 未捕获错误:元素缓存中id为x的DOM元素与DOM中的元素不同
- 在 ng-if 编译后访问指令中的 DOM 元素
- spin.js/angular spinner:如何将spin定位到DOM元素中(包括plunker演示)
- 如何在dom元素中插入输入标记数据插件
- Mobile Safari、jQuery以及绑定到未来的DOM元素
- 从字符串创建dom元素时添加多个类
- 如何根据客户端的屏幕大小使用javascript更改DOM元素
- 为onClick-hander插入临时DOM元素