2011-01-21 92 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*/