如何使用其名称获取要删除的div

时间:2014-02-12 14:13:01

标签: javascript jquery html

我已经使用JQuery在变量中保存了要删除的DIV的名称。 我想用JQuery删除这个div。我试过这段代码:

var list = $('#myLists .list').attr('name') == oberpname; //oberpname is the variable with the name
        for (index = list.length - 1; index >= 0; index--){
            list[index].parentNode.removeChild((list[index]));
        }

//$oberpname has the same name as in oberpname in JQuery above
<div id="myLists">
   <div class="list" name=$oberpname></div> 
</div>

当我运行此代码时,没有任何反应。如何使用JQuery完全依赖div?

编辑注:

删除了ID等错误。

5 个答案:

答案 0 :(得分:3)

使用Attribute Equals Selector而不是.remove()

$('#myLists div[name="oberpname"]').remove();

答案 1 :(得分:2)

首先,您的标记无效。在quotes中添加name属性值并使用:

$('#myLists div[name="oberpname"]').remove()

或来自变量:

$('#myLists div[name="'+oberpname+'"]').remove()

答案 2 :(得分:1)

使用attribute selector

var oberpname = "somename";
$('div[name=' + oberpname + ']').remove();

答案 3 :(得分:1)

你可以使用:

$('#myLists div[name=oberpname]').remove();

而不是像你现在正在做的那样循环。

答案 4 :(得分:0)

为了正确,元素div没有“name”属性。您可以使用id,class或data- *,例如data-name。

<div class="list" data-name="custom-name">
    ...
</div>

如果使用数据名称(假设oberpname ='custom-name'),

$('#myLists [data-name="'+oberpname+'"]').remove()

我不确定你为什么要在HTML中使用变量,因为你不能像你的例子那样做。如果要通过jQuery为data-name分配变量,则应该使用特定类来定位元素,然后添加属性。

<div class="list">
</div>

您的脚本应如下所示:

var customName = 'custom-name';

$('.list').attr('data-name',customName);

$('#myLists [data-name="'+customName+'"]').remove()