0

我试图打印标签中包含 alt 属性的文本

html

<p class="name-item-slider"></p>

<div class="flexslider">
    <ul class="slides">
      <li><img src="car.png" class="drag-item" alt="Scissors" ></li>
    </ul>
</div>

我试过:

var namealt = $("img").alt();
$(".name-item-slider").html(namealt);
4

2 回答 2

3

你可以做:

$("p.name-item-slider").text($("img.drag-item").attr("alt"));

或者如果你想打破它:

//Get the text
var altText = $("img.drag-item").attr("alt");

//Set the text
$("p.name-item-slider").text(altText);
于 2013-07-03T19:53:48.487 回答
0

因为您使用的是带有 flexslider 类的 div,所以我想您正在处理某种图像幻灯片,或者至少<img>是使用多个标签的东西。如果是这种情况,那么您将需要一个更可靠的答案,而不仅仅是从一张图像中获取 alt 并将其放入 ap 标签中。

也就是说,如果您有多个<p>and<img>标签,那么这将不起作用:

$('p').text($('img').attr('alt'));

实际上,它会起作用,但不是您想要的方式。它只会从第一个匹配的图像中获取 alt,并且 p 标签文本将与该内容保持一致。要使用正确的 alt 更新 p 标签,您需要一个循环。

我从来没有用过flexslider,但我确信它有一个回调函数。在这方面,您将需要这样的东西:

$('.name-item-slider').text($('.img.drag-item.current-slide').attr('alt'));
于 2013-07-03T20:07:40.543 回答