2

我创建了一个列表,其中每个列表项都包含一个图像和一个标题。我现在希望图像 alt 和标题标签与列表项中的标题相同,但我无法使其正常工作。目前,我将所有标题放入所有 img 标签中(这是我的 js 所期望的),但我不知道如何让第一个$('ul li img')只拿起第一个$('ul li').text(),第二个拿起第二个$('ul li').text(), ETC。

的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
    });
});
}); 
4

1 回答 1

2

<p>元素跟随 every <img>,所以:

$("ul li img").each(function() {
    var $this = $(this),
        valueTitle = $this.next("p").text();

    $this.attr({
        alt: valueTitle,
        title: valueTitle
    });
});

演示:http: //jsfiddle.net/cquJX/

于 2013-01-30T12:39:17.653 回答