找到最近的跨度文本?

时间:2014-08-14 16:49:37

标签: javascript jquery find alert closest

我觉得这很简单,但我显然遗漏了一些东西。单击每个面板标题的“X”图标时,我需要捕获该标题,例如“CUSTOMER”。也许是因为我的跨度在另一个A标签中?我需要知道面板标题上的名称,以便我可以告诉数据库要删除哪个属性。提前致谢。

的jQuery

$('.fa-times').click(function(){
    //alert('Delete this panel-title')
    alert($(this).closest('span.jumpScreen').text())
})

HTML

<h4 class="panel-title">
    <a class="accordion-toggle pad" data-toggle="collapse" data-parent="#accordion2" href="#collapse_0">
        <i class="fa fa-chevron-down disabledArrow">&darr;</i>
    </a>
    <a href="" target="_blank">
        <span class="jumpScreen">CUSTOMER</span>
    </a>
    <a class="attrDel" onclick="attrDel(this.id)" id="del_0">
        &nbsp;<i class="fa fa-times">X</i>
    </a>
</h4>
<h4 class="panel-title">
    <a class="accordion-toggle pad" data-toggle="collapse" data-parent="#accordion2" href="#collapse_0">
        <i class="fa fa-chevron-down disabledArrow">&darr;</i>
    </a>
    <a href="" target="_blank">
        <span class="jumpScreen">ATTRIBUTES</span>
    </a>
    <a class="attrDel" onclick="attrDel(this.id)" id="del_0">
        &nbsp;<i class="fa fa-times">X</i>
    </a>
</h4>

http://jsfiddle.net/4jwao0pt/

2 个答案:

答案 0 :(得分:4)

没有最接近的span,跨度位于锚点中,该锚点是i元素所在的父锚点的兄弟

$('.fa-times').click(function(){
    var elem = $(this).closest('a').prev('a').find('span.jumpScreen');

    alert( elem.text() );
});

答案 1 :(得分:1)

我认为解决此问题的正确方法是返回到父.panel-title,然后搜索.jumpScreen

$('.attrDel').click(function () {
  console.log( $(this).closest('.panel-title').find('.jumpScreen').text() );
});

另见: