我有一个小脚本,它采用图像的alt标记并将其添加为文本:
$(".field-item a img").each(function(i, ele) {
$(".field-item").append("<span>"+$(ele).attr("alt")+"</span>");
});
我遇到的问题是我正在复制每个alt标签作为文本添加到每个图像。因此,对于“image-1
”,image-1
和image-2
会添加为文本,我只希望将相应的alt标记添加为文本。
我厌倦了使用.closest()
例如
$(".field-item").closest().append("<span>"+$(ele).attr("alt")+"</span>");
......但这似乎没有成功。我在这里小提琴:
答案 0 :(得分:3)
您可以使用closest()
方法,目前您在每次迭代中选择类field-item
的所有元素,请尝试以下方法:
$(".field-item a img").each(function(i, ele) {
var alt = this.alt;
$(this).closest(".field-item").append("<span>"+alt+"</span>");
// or $(this).after("<span>"+alt+"</span>");
});
<强> Fiddle 强>
答案 1 :(得分:1)
您需要前往.closest('.field-item')
,然后附上您的文字。