我想在无序列表项中添加一个id。不是<li>
标记,而是在<li>
标记内,如下所示:
<li><a href="#" id="Here i want to add an id"></a></li>
因此,如果你能看到,在标签内部,我想添加一个ID。
答案 0 :(得分:2)
$('li > a').attr('id', 'id_to_add');
理想情况下,您将为li
设置更具体的选择器。您应该为li
class
或id
提供可以用来更好地识别它的内容,例如
<li class="needs-id">...
$('li.needs-id > a').attr('id', '...');
答案 1 :(得分:1)
您需要确保不在文档中引入重复的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();
});