使用Javascript删除DOM元素

时间:2018-06-05 07:55:47

标签: javascript html dom

我目前无法确定如何删除DOM元素。

我知道你可以通过id找到你想要的元素,然后删除它,在我的情况下,我每次创建'创建'键是按下的。我还为每个元素添加了一个关闭按钮,以便能够将其删除。

我知道您可能在网上找到这个但我甚至不知道要搜索什么。

我想为每个按钮添加一个点击事件,以便能够检测到哪一个被按下,然后删除相应的元素。

这是我每次按下按钮时用来创建元素的方法。

(我使用RE:DOM库添加元素)

var count_id = 0;
function addChart(){
    const test = el('.row',
                el('.col',
                el('.card mb-3',[
                    el('.card-header',[
                        el('i', {class: 'fa fa-area-chart'}),
                        el('a', {class: 'btn float-right', id: 'close-chart-'+count_id.toString()},
                            el('i', {class: 'fa fa-times'}))]),
                    el('.card-body',
                        el('#areaTest', {style:'width : 100%;'},
                        el('.loader'))),
                    el('.card-footer',
                    el('.row',
                    el('.col-lg-2',[
                        el('h6','Select a date'),
                        el('div', {class:'input-group date','data-provide':'datapicker'},[
                        el('.form-control', {type:'text'}),
                        el('.input-group-addon')])])
                    ))])
                ));

    test.id = count_id.toString();
    mount(document.getElementById('charts-container'),test);
    count_id++;
    console.log(count_id);
}

相关的HTML部分。我在这个容器中添加了所有内容。

<div class="row">
    <div id="charts-container" class="container">
    </div>
</div>

3 个答案:

答案 0 :(得分:1)

创建函数delete并传递动态分配的元素id,你可以看到下面的一个例子,元素有唯一的id“el-”和id分配,id通过按钮点击传递给函数,休息由删除()功能

    <button onclick="delete(123)"> DELETE </button>
    <p id="el-123"> i will be deleted </p>


    <script>
    function delete(id){
      document.getElementById("el-" + id).remove();
    }
    </script>

答案 1 :(得分:0)

您可以在元素上添加click事件并传递其引用。然后你可以在它的点击事件上调用这个函数。

<div #divRef onclick="deleteElement(divRef)">I'm a div</div>

在剧本中:

function deleteElement(element) {
    element.parentNode.removeChild(element);
}

答案 2 :(得分:0)

单击要删除引用元素的按钮(我假设父对象应该删除相应的完整行),采用以下结构:

@Override
public void onStop() {
    super.onStop();
    mapView.onStop();
    if(locationEngine != null){
        locationEngine.removeLocationEngineListener(this);
        locationEngine.removeLocationUpdates();
    }
}