javascript – 自动生成唯一的DOM ID?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 自动生成唯一的DOM ID?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2186字,纯文字阅读大概需要4分钟。
内容图文
![javascript – 自动生成唯一的DOM ID?](/upload/InfoBanner/zyjiaocheng/704/3986fbf2582e429a8fc8d8c5086e8c0f.jpg)
当使用JS和DOM进行编码时,我发现自己经常需要生成除了将DOM元素组合在一起(或将它们彼此关联)之外没有其他目的的id(或名称)1.
这些ID(或名称)将不会在代码中的任何其他位置明确提及,因此它们可以是任何随机字符串,并且对于id的情况,它们必须是唯一的.
JavaScript中是否有标准方法可以自动生成唯一ID?
图1A的情况说明了这种标识符的使用是在分组(比如说)单选按钮并将它们链接到相关标签时产生的……
我的(天真的noob’s)替代了像这样写HTML的大脑麻木的任务
<input type="radio" name="sys" id="sys-0" value="lnx"> <label for="sys-0"> Linux </label> <br>
<input type="radio" name="sys" id="sys-1" value="osx"> <label for="sys-1"> OS X </label> <br>
<input type="radio" name="sys" id="sys-2" value="win"> <label for="sys-2"> Windows </label>
(这需要每个按钮标签对重复三次基于sys的标识符)才能写
<div class="button-group" name="sys">
<input type="radio" value="lnx"> <label> Linux </label> <br>
<input type="radio" value="osx"> <label> OS X </label> <br>
<input type="radio" value="win"> <label> Windows </label>
</div>
然后使用一些JS将按钮分组到一个名称属性下,并将标签链接到各自的按钮:
$('.button-group').each(function (i, e) {
var name = $(e).attr('name');
$(e).find(':radio').each(function (j, f) {
var id = name + '-' + j;
$(f).attr('name', name)
.attr('id', id)
.next()
.attr('for', id);
})
});
这工作正常,但它仍然需要我为这些按钮组提供名称,并为按钮,名称和ID提供唯一ID,否则对我来说是无用的.我会尽快避免所有这些无偿的命名业务
<div class="button-group">
<input type="radio" value="lnx"> <label> Linux </label> <br>
<input type="radio" value="osx"> <label> OS X </label> <br>
<input type="radio" value="win"> <label> Windows </label>
</div>
$('.button-group').each(function (i, e) {
var name = unique_id();
$(e).find(':radio').each(function (j, f) {
var id = unique_id();
$(f).attr('name', name)
.attr('id', id)
.next()
.attr('for', id);
})
});
当然我可以推出自己的unique_id实现,但我想在重新发明这个非常明显的轮子之前我会问.
解决方法:
我用过的一种方法是
(function(){
var counter = 0;
window.uniqueId = function(){
return 'myid-' + counter++
}
});
然后
$('.button-group').each(function (i, e) {
var name = uniqueId();
$(e).find(':radio').each(function (j, f) {
var id = uniqueId();
$(f).attr('name', name)
.attr('id', id)
.next()
.attr('for', id);
})
});
内容总结
以上是互联网集市为您收集整理的javascript – 自动生成唯一的DOM ID?全部内容,希望文章能够帮你解决javascript – 自动生成唯一的DOM ID?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。