删除当前元素jquery accordion
我有“迪纳米克”手风琴。单击“addBtn”创建新元素。每个元素都有删除当前元素的“删除”按钮 HTML删除当前元素jquery accordion,jquery,accordion,element,Jquery,Accordion,Element,我有“迪纳米克”手风琴。单击“addBtn”创建新元素。每个元素都有删除当前元素的“删除”按钮 HTML <div id="accordion"> <div id="aE"> <div id="aT" class="aT_val"> <h3></h3>
<div id="accordion">
<div id="aE">
<div id="aT" class="aT_val">
<h3></h3>
</div>
<div id="aC" class="aC_val">
<p></p>
</div>
<div id="deleteBtn" class="deleteBtn"><img src="images/del.png"></div>
</div>
</div>
JS
$('#addBtn').click(function() {
count++;
$('#accordion').append('<div id="aE' + count + '"><div id="aT' + count + '" class="aT_val"><h3></h3></div><div id="aC' + count + '" class="aC_val"><p></p></div><div id="deleteBtn' + count + '" class="deleteBtn"><img src="images/delete-button.png"></div></div>'); });
$('#deleteBtn' + count).click(function() {
$('#aE' + count).remove();
});
$('#addBtn')。单击(函数(){
计数++;
$(“#手风琴”).append(“”);});
$('#deleteBtn'+计数)。单击(函数(){
$('#aE'+count).remove();
});
但是“deleteBtn”并没有删除元素“aE”。如何解决此问题?'#aE'+count
是在单击时进行计算的,而不是在创建函数时,因此它将是count
的最后一次使用值,而不是在制作按钮时的值。在与父范围不同的上下文中对#deleteBtn的onclick回调进行计算
$('#deleteBtn' + count).click(function() {
// this will always return a fixed number
$('#aE' + count).remove();
});
试试这个
$('#deleteBtn' + count).click(function() {
// this will return a correct id
var cnt = this.id.replace('deleteBtn', '');
$('#aE' + cnt ).remove();
});
或者更简单地说是$(this.parent('div').remove();我认为您提到的$(this)
或#deleteBtn
是#aE
.men,$(this).parent('div').remove()的子元素;工作,但只有没有“计数”。类似于$('#deleteBtn')。单击(function(){$(this).parent('div').remove()});