Javascript 如何向网站元素注入第二个元素ID

Javascript 如何向网站元素注入第二个元素ID,javascript,html,Javascript,Html,使用JavaScript,我希望通过添加id属性(例如custom id=“12345”)来标记网页中的所有元素(或者至少是链接和按钮) 我在这里关心的是如何为每个元素保持这些ID的唯一性和静态性,特别是当将来(开发人员或业务人员更改某些元素)一个页面可以有更多或更少的元素时,仅仅通过迭代文档元素来分配ID可能会更改元素和ID的顺序,什么是不可取的有静态ID 我想再次做的是,即使页面层次结构多次更改,也要为相同的元素使用相同的ID 标记页: <!DOCTYPE html> <h

使用JavaScript,我希望通过添加id属性(例如custom id=“12345”)来标记网页中的所有元素(或者至少是链接和按钮)

我在这里关心的是如何为每个元素保持这些ID的唯一性和静态性,特别是当将来(开发人员或业务人员更改某些元素)一个页面可以有更多或更少的元素时,仅仅通过迭代文档元素来分配ID可能会更改元素和ID的顺序,什么是不可取的有静态ID

我想再次做的是,即使页面层次结构多次更改,也要为相同的元素使用相同的ID

标记页:

<!DOCTYPE html>
<html>
<body>

<h1 custom-id = "1">My First Heading</h1>

<p custom-id = "2">My first paragraph.</p>

</body>
</html>

我的第一个标题

我的第一段

当元素发生变化时,会出现错误:

<!DOCTYPE html>
<html>
<body>

<p custom-id = "1">My first paragraph.</p>

</body>
</html>

我的第一段

正确答案应该是:

<!DOCTYPE html>
<html>
<body>

<p custom-id = "2">My first paragraph.</p>

</body>
</html>

我的第一段

脚本如下所示:

var all = document.getElementsByTagName("*");

for (var i=0, max=all.length; i < max; i++) {
    all[i].setAttribute("data-custom-id", i);
}    
var all=document.getElementsByTagName(“*”);
对于(变量i=0,max=all.length;i
谢谢大家!
Hedi

我认为您正在寻找类似于.is()选择器(jQuery)的东西

通过这种方式,您可以在条件中使用它将适当的数据id添加到正确的元素标记中,正如上面所暗示的那样

非jQuery解决方案(来自)

或者

希望能有所帮助。

我想我找到了:

现在,我想另一种方法。生成一个唯一的键,从元素本身识别元素,并将其提供给TMS,我认为这个键应该可以工作

例如:

插件应始终在分析规则之前运行

步骤1:循环并读取元素:

<h1>My First Heading</h1>
然后将其添加到元素中:

<h1 custom-elm-key = "dhked543e5de">My First Heading</h1>
我的第一个标题

向我们展示您目前掌握的代码。不确定您想要实现什么目的是什么?可能有更好的方法。自定义id
不是正确的属性。如果你想让一个元素获得一个id并保存它(永远?),那么使用
data custom id=“1234”
你就不能使用数据库(例如MySQL)
el === otherEl
<h1>My First Heading</h1>
"<h1>My First Heading</h1>"
"dhked543e5de"
<h1 custom-elm-key = "dhked543e5de">My First Heading</h1>