2011-01-21 120 views
16

如何删除具有特定值的DIV?使用Javascript或Jquery删除DIV标签

<div value="0" class="task_row"></div> 

我想删除它有值以上DIV 0

+4

您使用的是JavaScript库? jQuery会是一个可以接受的答案吗?如果是这样,你可以这样做,如果jQuery:$('[value =“0”]')。remove(); – 2011-01-21 05:02:12

+3

值不是div标签的有效属性。 – 2011-01-21 05:04:00

回答

45

由于罗本在评论中指出,value不是div标签的有效属性。 jQuery解决方案和使用getElementsByTagName()的解决方案都必须遍历列表,这对性能不利。我认为,建立一个id属性,而不是一个更好的选择:

<div id="task_row_0" class="task_row"></div> 

然后你可以这样做:

var div = document.getElementById("task_row_" + taskId); 
div.parentNode.removeChild(div); 
3
var divs = document.getElementsByTagName('div'); 
for(var i = divs.length; i; i -= 1) { 
    if (divs[i].getAttribute('value') == 0) { 
     divs[i].parentNode.removeChild(divs[i]); 
    } 
} 
4

这是jQuery代码)):

$('div').each(function(){ 
    if($(this).attr('value') == '0'){ 
    $(this).remove(); 
    } 
}); 
2

编辑:没关系 - Zhasulan打我吧。 :P

使用jQuery -

$('div').each(function(){ 
    if($(this).attr('value') == '0') { 
     $(this).hide(); 
     } 
    }); 
0

替代的jQuery/JavaScript的,你可以仅通过CSS实现它 -

JSFIDDLE

div[value="0"] { 
    display: none; 
} 

或通过使用jQuery的属性选择:

JSFIDDLE

$("div[value='0']").hide(); /*.remove() as per your requirement*/