html和javascript中具有不同类名的相同ID
Posted
技术标签:
【中文标题】html和javascript中具有不同类名的相同ID【英文标题】:Same id with diffent classname in html and javascript 【发布时间】:2013-12-04 07:31:15 【问题描述】:我有一种情况
<label id="studentName" class="firstClass> </label>
<label id="studentName" class="secondClass> </label>
<label id="registerNumber" class="firstClass> </label>
<label id="registerNumber" class="secondClass> </label>
现在,我必须唯一标识每个标签,并使用 class 和 id 将 innerhtml 替换为某个值。
如何从 javascript/ios 方面实现这一点?
【问题讨论】:
ID 在文档中必须是唯一的。 id属性不是用来识别的吗? 【参考方案1】:您想切换 Id 和类。你不能有 2 个相同的 ID 但你可以有多个同名的类。
<label id="firststudentName" class="studentName> </label>
<label id="secondstudentName" class="studentName> </label>
<label id="firstregisterNumber" class="registerNumber> </label>
<label id="secondregisterNumber" class="registerNumber> </label>
【讨论】:
【参考方案2】:你可以使用
elements = document.getElementsByClassName(names);
对结果进行循环,还有hasClass函数。
但通常 ID 应该是唯一的。
【讨论】:
【参考方案3】:用 jquery 试试这个:
function checkUnique(className)
var count = 0;
var ids = '';
$('.' + className).each(function(i)
if(ids.indexOf($(this).attr('id')) != -1)
$(this).attr('id',$(this).attr('id') + i);
ids += $(this).attr('id');
)
【讨论】:
hicurin,您是否可以在 javascript 中而不是在 jquery 中提供相同的方法。?我只使用 iPad 应用程序的 webview 中的 javascript。【参考方案4】:这是无效的 HTML,请参见此处:http://www.w3schools.com/tags/att_global_id.asp
如果您正在迭代,例如许多学生,请确保使用循环作为 id,这样你就有了
id="studentName1"
id="studentName2"
【讨论】:
以上是关于html和javascript中具有不同类名的相同ID的主要内容,如果未能解决你的问题,请参考以下文章