0

我正在使用以下代码从列表中的每个图像中获取标题属性:

$("ul#images li img").each(function(index) {
    $(this).attr("title");
});

然后如何使用此属性作为每个图像的标题?我是否首先需要以某种方式将其转换为字符串,然后将其附加到列表项?

谢谢

4

2 回答 2

2

你需要一些 CSS 和修改你的 javascript。但基本上你抓住 attr 值并将其附加到你喜欢的地方。

使用您的示例:

http://jsbin.com/irabiv/1/edit

$("ul#images li img").each(function(index) {
    $(this).parent().append('<div class="caption">'+$(this).attr("title")+'</div>');
});
于 2012-10-09T02:06:18.060 回答
1

属性总是字符串,title属性也是字符串,所以你只需要附加它。

$("ul#images li img").each(function() {
    $(this).closest('li').append('<br>' + this.title);
});

小提琴

现在,如果您正在寻找更语义化的 HTML5 解决方案,我建议您使用figureandfigcaption元素:

$("ul#images li img").each(function() {
    $(this).wrap('<figure/>').after($('<figcaption>', {text: this.title}));
});

小提琴

于 2012-10-09T02:11:18.227 回答