我创建了一个列表,其中每个列表项都包含图像和标题。我现在希望图像alt和title标签与列表项中的标题相同,但我无法让它正常工作。目前,我将所有标题都添加到所有img标签中(这可以从我的js中获得),但是我无法弄清楚如何让第一个$('ul li img')
只获取第一个$('ul li').text()
},第二个拿起第二个$('ul li').text()
等等。
HTML:
<ul>
<li><img src="path.jpg" /><p>Title 1</p></li>
<li><img src="path.jpg" /><p>Title 2</p></li>
</ul>
JS:
$(document).ready(function() {
$('ul li img').each(function() {
var valueTitle = $('ul li').text();
$(this).attr({
alt: valueTitle,
title: valueTitle
});
});
});
答案 0 :(得分:2)
<p>
元素跟随每个<img>
,因此:
$("ul li img").each(function() {
var $this = $(this),
valueTitle = $this.next("p").text();
$this.attr({
alt: valueTitle,
title: valueTitle
});
});