jQuery将p内容放入属性中

时间:2011-10-02 18:17:28

标签: jquery attr

这是我第一次来这里......

我有以下情况:

<div class="album-wrap">
    <img src="picture.jpg" alt="Mickey">
    <p class="caption">little mouse</p>
</div>

<div class="album-wrap">
    <img src="picture2.jpg" alt="Donald">
    <p class="caption">little duck</p>
</div>

问题是:如何将类标题的内容放入alt属性? 或者也许创建另一个属性并放置标题类的内容。 感谢。

3 个答案:

答案 0 :(得分:4)

循环遍历每个容器,并使用p获取.text()元素的内容。然后,使用alt将此值分配给.attr()属性。

$(".album-wrap").each(function(){
    var caption = $("p.caption", this).text();
    $("img", this).attr("alt", caption);
})

答案 1 :(得分:1)

将替换内容替换为标题文本。

$('.caption').each( function() {
    var $this = $(this),
        $img = $(this).prev('img');
    $img.attr('alt', $this.text() );
});

将标题文本附加到替代内容。

$('.caption').each( function() {
    var $this = $(this),
        $img = $(this).prev('img'),
        alt = $img.attr('alt');
    $img.attr('alt', alt + ': ' + $this.text() );
});

答案 2 :(得分:0)

我会遍历img元素,并将alt属性设置为各自兄弟p.caption元素的内部文本。

$('.album-wrap img').each(function() {
    var $img = $(this);
    $img.attr('alt', $img.siblings('.caption').text());
});