document.getElementById用于不同的" id"值或此代码的替代品

时间:2015-10-08 16:55:18

标签: javascript regex

实际上,我正试图创建一个"自动保存"系统内容为一些""标记为满足。

DIVS有一个类似他的结构。

var timeoutId;
document.getElementById('test_one').addEventListener("input", function() {
    clearTimeout(timeoutId);
    timeoutId = setTimeout(function() {    
          function_to_save();    
    }, 1000);
}, false);

还有一个这样的函数,只适用于一个div(当用户停止在div上写入时保存数据)

HKLM\Software\Policies\Microsoft\Windows\Certprop\CertPropEnabled = 1

问题是我尝试对所有包含单词" test"的所有div使用相同的函数,因为所有这些名称都是动态生成的......

我尝试使用正则表达式,我能做些什么......任何想法或替代代码?

1 个答案:

答案 0 :(得分:1)

您可以使用querySelectorAll获取nodeList

var elems = document.querySelectorAll("[id*='test']");

并且问题标记为jQuery

var elems = $('[id*='test']');

[id^='test']将匹配以test开头的所有ID [id$='test']将匹配以test结尾的所有ID [id*='test']将匹配包含test的所有ID。

使用nodeList,你必须迭代

var elems = document.querySelectorAll("[id*='test']");

for (var i=elems.length; i--;) {
    elems[i].addEventListener("input", functionName, false);
}