如何将第二个元素id注入到网站元素中
How to inject second element ids to the website elements
使用JavaScript,我希望通过添加id属性来标记网页中的所有元素(或者至少是链接和按钮),例如自定义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);
}
谢谢大家!Hedi
我认为您正在寻找类似于.is()选择器(jQuery)的东西
$('#theid').is($('p')); ==> true
通过这种方式,您可以在条件中使用它,将适当的数据id添加到正确的元素标记中,正如您在上面所暗示的那样。
非jQuery解决方案(来自http://youmightnotneedjquery.com/)
var matches = function(el, selector) {
return (el.matches || el.matchesSelector || el.msMatchesSelector || el.mozMatchesSelector || el.webkitMatchesSelector || el.oMatchesSelector).call(el, selector);
};
matches(el, '.my-class');
或。。
el === otherEl
希望能有所帮助。
我想我找到了:
现在,我想换一种方式。生成一个唯一的密钥来从元素本身识别元素,并将其提供给TMS,我认为这个应该有效。。
示例:
插件应始终在分析规则之前运行。
步骤1:循环和读取元素:
<h1>My First Heading</h1>
步骤2:转换为字符串:
"<h1>My First Heading</h1>"
步骤3:将字符串转换为Key!!(例如使用cryptoJS):
"dhked543e5de"
然后将其添加到元素中:
<h1 custom-elm-key = "dhked543e5de">My First Heading</h1>
相关文章:
- 为什么在这个网站上不能通过JS访问元素
- 在元素悬停上显示带有javascript的弹出式网站
- 如何将第二个元素id注入到网站元素中
- 如何在山露网站上完成元素动画
- jQuery网站的键盘快捷键,焦点使用左键和右键转到上一个或下一个元素
- 创建一个本地脚本来操作网站中的DOM元素
- 我如何让我的网站检测鼠标是否被使用,然后在元素中添加一个类
- 我将如何能够使元素为我的网站建设者生成代码
- 带有HTML5元素的JavaScript网站欢迎加载器
- 如何更改网站正文元素的背景以与幻灯片放映相对应
- 恒星.js - 为垂直滚动网站配置偏移/对齐元素
- 如何让这个可拖动的框覆盖所有其他网站元素
- 单页网站粘性导航:更改内容元素的活动状态
- 如何在 SVG 上的鼠标光标旁边显示工具提示,尽管网站上有非 SVG 元素
- 如何更改转换:当滚动浏览网站时元素的translate()位置
- 如何在 PDF 中转换我的网站上的 DOM 元素
- Magento网站被扭曲,页面元素经常分散
- 在Joomla网站上隐藏一个html元素
- 在调整大小期间维护网站布局(使用javascript?同时调整所有元素的大小)
- 如何使用脚本在嵌入网站上隐藏不需要的元素