gpt4 book ai didi

javascript - document.getElementById 对于不同的 "id"值或此代码的替代方案

转载 作者:行者123 更新时间:2023-11-27 23:47:29 25 4
gpt4 key购买 nike

实际上,我正在尝试为某些标记为可内容编辑的“”的内容创建一个“自动保存”系统。

DIVS 的结构与他的类似。

<div id=test_one contenteditable=true>
<div id=test_other contenteditable=True>
[..]

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

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

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

我尝试使用正则表达式,但我无法使其工作......有什么想法或替代代码吗?

最佳答案

您可以使用querySelectorAll获取节点列表

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);
}

关于javascript - document.getElementById 对于不同的 "id"值或此代码的替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33021741/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com