javascript - 如何按名称选择元素列表?

标签 javascript

我想选择以特定序列开头的所有元素。 该序列类似于 work_XXXXXX。如何实现?

最佳答案

我在 jquery 和 javascript 中都提供了答案,但最好的选择是使用 jquery,因为使用 javascript 你将不得不循环遍历所有元素并匹配你想要的模式,这是非常耗时的过程,所以我更喜欢使用 jquery:

查找属性名称以“work_”开头的所有输入,并在其中放入文本。

<input name="newsletter" />

<input name="work_man" />
<input name="work_boy" />
<script>
    $('input[name^="work_"]').val('work here!');
</script>

http://api.jquery.com/attribute-starts-with-selector/

http://api.jquery.com/category/selectors/

使用 javascript 时,它们不是内置关键字,但您可以通过遍历所有元素并检查所需模式的匹配来做到这一点,这种方式:

var idStart = "work_";
var componentContainer = document.getElementById("containerTable").getElementsByTagName("DIV");
for (var i = 0; i < componentContainer.length; i++) {
     var id = componentContainer[i].id;
     if ((id.length >= idStart.length) && (id.substring(0, idStart.length - 1) == idStart))// you can also use regular expression here to match desired pattern
     {
          //do something...
     }
}

关于javascript - 如何按名称选择元素列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4193579/

相关文章:

javascript - 点击复制段落内容

javascript - 如何在 Canvas 中创建具有厚度和内部图像的圆 Angular 矩形

javascript - 为什么这个 Array.sort 行为在 Chrome 和 Node.js 中不同

javascript - 如何使用 BeautifulSoup 从网页上的一些 JavaScript 中提取一长串文本?

javascript - JS中的触摸板滚动检测,没有库

javascript - 如何使进度条值根据输入的数字增加

javascript - 使用 Javascript 更改顶栏样式

javascript - Twitter Bootstrap 隐藏水平滚动

javascript - 由于 ie8 兼容模式的特殊 css,我如何使用 JavaScript 为媒体打印编写 css?

javascript - 使用数字的数字作为数组