我想将 id 添加到无序列表项。不是<li>
标签,而是<li>
标签内部,如下所示:
<li><a href="#" id="Here i want to add an id"></a></li>
因此,如果您可以看到,在 a 标签内,我想添加一个 ID。
我想将 id 添加到无序列表项。不是<li>
标签,而是<li>
标签内部,如下所示:
<li><a href="#" id="Here i want to add an id"></a></li>
因此,如果您可以看到,在 a 标签内,我想添加一个 ID。
$('li > a').attr('id', 'id_to_add');
理想情况下,您会有一个更具体的选择器li
。你应该给你li
的 aclass
或者id
你可以用来更好地识别它,例如
<li class="needs-id">...
$('li.needs-id > a').attr('id', '...');
您需要确保不会在文档中引入重复的 ID。因此,您需要测试文档中是否已使用 id。attr('id', 'some_id')
在一组节点上使用,会直接引入重复。因此,您将不得不使用.each
. 此外,您需要确保不会意外删除现有的 id,这可能会导致不必要的副作用。
function generateId(base) {
generateId.iterator = generateId.iterator || 1;
base = base || '';
while (document.getElementById(base + generateId.iterator)) {
generateId.iterator ++;
}
return base + generateId.iterator;
}
$('li > a').each(function() {
this.id = this.id || generateId();
});