1

要素のデータ属性を取得しようとしていますが、どういうわけか未定義と表示されます。ここに私のhtmlコードがあります

 <div id="imageContainer">
    <img data-fullimageid="1" data-title="Cool Stuff" class="backgroundImages" src="images/galvanize/1.jpg" />
    <img data-fullimageid="2" data-title="Awesome" class="backgroundImages" src="images/galvanize/1336/dj.jpg" />
    <img data-fullimageid="3" data-title="Elite" class="backgroundImages" src="images/galvanize/3.jpg" />
</div>

そしてJqueryを使って警告する

    var firstImageTite = $('.backgroundImages:first-child').data("data-title");
alert(firstImageTite);

それは未定義と言います。どこが間違っているか教えてください、ありがとう。

4

3 に答える 3

3

やるだけ

$('.backgroundImages:first-child').data("title");

それ以外の

$('.backgroundImages:first-child').data("data-title");

jquery.dataは data-* の値を、 の後に表示される名前のキーにキャッシュしますdata-。したがって、jquery データ API のセッターとゲッターを使用している間は、属性名 (プレフィックスなし) を指定するだけで済みます。

また、.data を使用して行った変更は実際の属性値を変更しないことに注意してください。したがって、.data API で変更した後は、.data API でも取得します。

于 2013-09-17T03:25:57.000 に答える
2

交換

.data("data-title");

.data("title");

また

.attr("data-title");
于 2013-09-17T03:26:19.637 に答える
1

data-title の代わりに title を付けます。

$(function(){
$('#titledata').text($('.backgroundImages:first-child').data('title'));
});

実行例はこちら

http://jsfiddle.net/rajeshmepco/ud6Ww/1/

于 2013-09-17T04:04:46.840 に答える