0

これは機能します...

$('.tubepress_thumb img').mouseenter(
function(){
    $(this).css('opacity','.8');
    var a = $(this).attr('alt');
    $(this).parent().append('<div class="tp_title">' + a + '</div>');
});

しかし、追加された div が画像を覆っている b/c がちらつきます。

だから私は img と追加された div の両方の包含要素をターゲットにしてこれをやろうとしています...

$('.tubepress_thumb').mouseenter(
function(){
    $(this).children('img').css('opacity','.8');
    var a = $(this).children('img').attr('alt');
    $(this).append('<div class="tp_title">' + a + '</div>');
});

しかし、代替テキストの代わりに「未定義」と表示されます。

$(this).children('img').attr('alt'); いくつかの投稿でチェックして確認しました。正しいので、何が欠けているのかわかりません。

4

1 に答える 1

0

<img>要素が要素の直接の子でない場合は、それを見つける代わりに.tubepress_thumb使用する必要があります。$(this).find('img')$(this).children('img')

于 2013-06-18T13:43:20.950 に答える