0

親にテキストを出力するにはどうすればよい<div>です<span>か?私は何が間違っているのですか?スパンとで作業するよりも良い解決策がある場合は、.parent()私に知らせてください。

HTML:

<div>
<span></span> <!--the span where i want to output "troll" and "dwarf"-->
<a href="#" class="heroes" alt="troll">Icon</a>
<a href="#" class="heroes" alt="dwarf">Icon</a>
</div>

<div>
<span></span <!--the span where i want to output "witch"-->
><a href="#" class="heroes" alt="witch">Icon</a>
</div>

<div> 
<span></span> <!--etc...-->
<a href="#" class="heroes" alt="barbarian">Icon</a>
</div>

<div>
<span></span>
<a href="#" class="heroes" alt="necromancer">Icon</a>
</div>

JS:

$('.heroes').hover(function() {
    var hero = $(this).attr('alt');
    $(this).parent('span').text(hero);
}, function() {
    $(this).parent('span').text("");
});

ありがとう

4

2 に答える 2

5
$(this).siblings('span').text(hero);

スパンはアンカーの兄弟であり、親ではありません。

HTMLをインデントすると、非常に簡単に表示されます。

<div> <!--The parent of the span and anchors!-->
    <span></span> <!--Sibling of the anchors!-->
    <a href="#" class="heroes" alt="troll">Icon</a>
    <a href="#" class="heroes" alt="dwarf">Icon</a>
</div>

ライブデモ

注: altはアンカーの有効なHTML属性ではありません。

于 2012-05-30T11:06:51.480 に答える
1

使用する:

$(this).closest('div').find('span').text(hero);

<span><div>あなたのリンクの親ではなく兄弟です、あなたは実際の親に基づいてそれを見つけることができます。

于 2012-05-30T11:07:57.887 に答える