我已经使用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等错误。
答案 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)
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()