我正在做一些CSS实验,我想复制在Adobe Edge Animate中完成的某些事情。在该程序中,您可以创建100%唯一命名的div,从而避免在网站上遇到相同名称的div的可能性。例如,为需要css的任何元素提供广告。即使我将true_cool_container命名为id,也总是有机会使用此名称进入div,并完全破坏整个页面。
Edge可以为页面上该容器的每个实例生成诸如true_cool_container_028485020之类的命名ID。这适用于两个true_cool_container实例,该实例可能在页面上出现两次。
Edge在某些方面可能受到限制,因此我想找到一种向每个实例添加时间戳值(低至ms)的方法,以减少遇到类似ID的可能性。
Edge还设法重命名ID,但是在该ID的所有实例中,以便其他脚本仍可以引用它。
有谁知道如何通过纯代码做到这一点?
最佳答案
对于仅使用Javascript的方式,您可以尝试:
<div id="same"></div>
<div id="same"></div>
<div id="same"></div>
var divs = document.getElementsByTagName('div');
for(var i = 0;i < divs.length;i++){
divs[i].id += "_"+(new Date().getTime()+i);
}
<div id="same_1364844463671"></div>
<div id="same_1364844463672"></div>
<div id="same_1364844463673"></div>