Jquery父母的跨度

时间:2012-05-30 11:05:11

标签: javascript jquery html

如何将文字输出到父<div>的{​​{1}}?我究竟做错了什么? 如果有更好的解决方案而不是使用跨度和<span>,请告诉我。

HTML:

.parent()

JS:

<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>

由于

2 个答案:

答案 0 :(得分:3)

$(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>

Live DEMO

注意: alt不是锚的有效HTML属性。

答案 1 :(得分:1)

使用:

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

<span>不是您的链接的父级,您可以根据实际的<div>父级找到它。