如何删除具有相同ID的div但在JAVascript中显示='block'和display ='none'

vak*_*kas 2 javascript

我有超过1个具有相同ID的div,但是一个有diplay ='block'而其他有display ='none'.

我想删除所有显示='none'的div.

请告诉最简单的方法.

Kas*_*uri 6

在文档中有多个元素具有相同的ID是违反W3标准的.

请改用类名.不幸的是,没有javascript函数来按类名获取元素.我担心你将不得不循环遍历所有div元素(使用getelementsbytagname),然后找出必要的div.

但是,如果您使用的是jquery,则可以使用其选择器并按类名获取元素并迭代它.

$('.classname').each(function(index) {
   //check if display is none and delete it
  });
Run Code Online (Sandbox Code Playgroud)

  • 不仅仅是W3C标准,还有XHTML 1.1文档类型定义(现在我认为它是W3C标准). (4认同)

Sar*_*raz 5

你可以做到这一点与一条线的jQuery代码,如果你想用它去:

$("div.the_div:hidden").remove();
Run Code Online (Sandbox Code Playgroud)

这将删除因隐藏的JQuery 隐式迭代而导致的所有div display:none

确保在JQuery的ready方法中包含上面的代码行,一旦DOM准备好就会触发.所以它变成:

$(function(){
    $("div.the_div:hidden").remove();
});
Run Code Online (Sandbox Code Playgroud)

注意:首先给你的div类the_div.