您好我的代码中有一个空div,而且我想通过jquery删除它并尝试:
$('.col-main > div:empty').remove();
$('div:not([class])'.remove();
$('div[class!=""]').remove();
也尝试过:
$('.col-main > div[class!=""]').remove();
$('.col-main > div:not([class])'.remove();
$('.col-main > div[class!="clr"]').remove(); - im guessing here
最后两个删除了页面上的所有div,但没有一个工作。我想保留所有空的div,这些div都附有类或id,例如CLR的。
答案 0 :(得分:2)
我认为你应该详细阅读jQuery规范然后你可以更好地理解它:)
:not()
是从元素列表中排除元素,例如$('div:not(.hide)')将选择所有没有.hide类的div。
:empty
是指html
或text
中没有任何内容。
反正。
$('div').each(function (i,n){
if(!$(n).attr('class') || !$(n).attr('id')){
// neither id or class exist
}else{
// id or class exists
}
})
查看此链接以获取示例 http://jsfiddle.net/jz3zT/
答案 1 :(得分:1)
这实际上是一个CSS选择器问题,不需要指定使用的框架,也不需要开始编写循环也不需要使用.each
。
以下查找没有类名或ID的空DIV。
div:empty:not([class]):not([id])
就这么简单。
答案 2 :(得分:0)
您可能需要使用each
循环浏览它们,并检查是否设置了.attr('class')
和.attr('id')
。