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>タグが使用されているものを作業していると思います。その場合は、1 つの画像から alt を取得して ap タグに入れるよりも、より堅牢な回答が必要になります。

つまり、複数の<p>and<img>タグがある場合、これは機能しません。

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

実際には機能しますが、希望どおりにはなりません。最初に一致した画像からのみ alt を取得し、p タグのテキストはそのコンテンツと共に保持されます。p タグを正しい alt で更新するには、ループが必要です。

flexslider は使ったことがありませんが、コールバック機能があることは確かです。その側では、次のようなものが必要になります:

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