jQuery 查找文本并使用每个函数写入另一个标签属性

jQuery find text and write into another tag attribute with each function

.. 你好

我尝试从我的 figcaption-Element 中获取文本并插入相应的 a-Tag -> (data-title)

此刻我找到了figcaption并将其写入变量'desc'。但是每个图形说明都应该从 link 插入到 data-title。现在只有最后的 desc 会被写入 data-title.

这是 fiddle 和我的 jQuery-代码:

jQuery('figure').find('figcaption').each(function (index) {
    var desc = $(this).text();
    //var desc = jQuery('figcaption').text();
    console.log(index + desc);
    jQuery('.lightbox2').attr('data-title', ''+ desc +'');
});

感谢您的帮助。

您可以只使用 .text()

的回调
$('figure figcaption').text(function(el, txt) {
    $(el).prev('a.lightbox2').attr('data-title', txt);
});

attr()

相同
$('a.lightbox2').attr('data-title', function() {
    return $(this).next('figcaption').text();
});

不过,只要您在 fiddle -> https://jsfiddle.net/adeneo/60mm991f/1/

中包含 jQuery,您的代码就可以正常工作

您可以使用.attr(attributeName, function)

$('a.lightbox2').attr('data-title', function(ele){
    return $(ele).closest('figure').find('figcaption').text();
})

您的代码稍作修改即可使用Updated Fiddle

jQuery(this).prev('.lightbox2').attr('data-title', '' + desc + '');

而不是

jQuery('.lightbox2').attr('data-title', '' + desc + '');