我觉得这很简单,但我显然遗漏了一些东西。单击每个面板标题的“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">↓</i>
</a>
<a href="" target="_blank">
<span class="jumpScreen">CUSTOMER</span>
</a>
<a class="attrDel" onclick="attrDel(this.id)" id="del_0">
<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">↓</i>
</a>
<a href="" target="_blank">
<span class="jumpScreen">ATTRIBUTES</span>
</a>
<a class="attrDel" onclick="attrDel(this.id)" id="del_0">
<i class="fa fa-times">X</i>
</a>
</h4>
答案 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() );
});
另见: