0

我想将 id 添加到无序列表项。不是<li>标签,而是<li>标签内部,如下所示:

<li><a href="#" id="Here i want to add an id"></a></li>

因此,如果您可以看到,在 a 标签内,我想添加一个 ID。

4

2 回答 2

2
$('li > a').attr('id', 'id_to_add');

理想情况下,您会有一个更具体的选择器li。你应该给你li的 aclass或者id你可以用来更好地识别它,例如

<li class="needs-id">...

$('li.needs-id > a').attr('id', '...');
于 2013-01-05T19:55:19.313 回答
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();
});
于 2013-01-05T20:05:30.447 回答