0

我需要在我正在处理的项目中的链接列表的第一个链接中添加一个属性,并考虑使用 JavaScript 执行此操作的方法。这是下面的代码,它们是动态生成的,但我想要找出一种方法,在每个列表的第一个标签中插入 id="cover_title" 序列,这样代码看起来就像下面一样。有任何想法吗?

<ul id="gallery">

<li id="album">
<div id="album_title">Summer 2012</div>
        <div id="photo"><a id="cover_title" href="#"><img src="images/photo1.png"/></a></div>
        <div id="photo"><a href="#"><img src="images/photo2.png"/></a></div>
        <div id="photo"><a href="#"><img src="images/photo3.png"/></a></div>
        <div id="photo"><a href="#"><img src="images/photo4.png"/></a></div>
        <div id="photo"><a href="#"><img src="images/photo5.png"/></a></div>

</li>

<li id="album">
<div id="album_title">Spring 2012</div>
        <div id="photo"><a id="cover_title" href="#"><img src="images/photo1.png"/></a></div>
        <div id="photo"><a href="#"><img src="images/photo2.png"/></a></div>
        <div id="photo"><a href="#"><img src="images/photo3.png"/></a></div>
        <div id="photo"><a href="#"><img src="images/photo4.png"/></a></div>
        <div id="photo"><a href="#"><img src="images/photo5.png"/></a></div>

</li>

4

2 回答 2

2

首先,注释:id来自标识符,并且在整个文档中必须是唯一的。您的代码应class=""改为使用该属性。参见,例如,MDN

ID 在文档中必须是唯一的,......

话虽如此,下面的代码class在 th元素上设置了适当的<a>值,假设您将id上面的所有属性都转换为class.

var links = document.querySelectorAll( 'div.photo:nth-child(2) a' );
for( var i=0; i<links.length; ++i ) {
  links[i].classList.add( 'cover_title' );
}

编辑

这是一个示例小提琴:link

于 2012-06-25T14:35:13.973 回答
0

Vega 说的对:不要重复 ID,使用类。简单的 jQuery

$('.album_title').each(function(){
  $(this).find('a:first').addClass('cover_title');
});
于 2012-06-25T14:36:39.027 回答