删除当前元素jquery accordion

删除当前元素jquery accordion,jquery,accordion,element,Jquery,Accordion,Element,我有“迪纳米克”手风琴。单击“addBtn”创建新元素。每个元素都有删除当前元素的“删除”按钮 HTML <div id="accordion"> <div id="aE"> <div id="aT" class="aT_val"> <h3></h3>

我有“迪纳米克”手风琴。单击“addBtn”创建新元素。每个元素都有删除当前元素的“删除”按钮

HTML

<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()});