0

ライトボックスを機能させるために、画像を子として含むリンクにデータ属性「ライトボックス」を設定しようとしています。これはあまりうまくいかないようです。私はこのフィドルを持っています。

var links = $(".single .entry-content a");
links.each(function () {
    if ($(this).children("img").length > 0) {
        $(this).data("lightbox","image-gallery");
        console.log("test");
    }
});

コンソールはログに記録しますが、データ属性が設定されていません。私は何を間違えましたか?

4

2 に答える 2

3

試す

$(".single .entry-content a:has(> img)").attr('data-lightbox', 'image-gallery')

デモ:フィドル

于 2013-09-20T13:22:49.393 に答える
2

jQuery の.data()関数はデータ属性を追加しませんが、代わりに独自の内部ストレージ メカニズムを使用します。実際に属性を変更するには、次を使用する必要がありますattr()

$('.single .entry-content a').has('> img').attr('data-lightbox', 'image-gallery');
于 2013-09-20T13:26:03.203 に答える