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 + '');
.. 你好
我尝试从我的 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 + '');