如果没有附加类或id,则删除jquery中的空div

时间:2011-03-03 13:13:13

标签: jquery magento css-selectors

您好我的代码中有一个空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的。

3 个答案:

答案 0 :(得分:2)

我认为你应该详细阅读jQuery规范然后你可以更好地理解它:)

:not()是从元素列表中排除元素,例如$('div:not(.hide)')将选择所有没有.hide类的div。

:empty是指htmltext中没有任何内容。

反正。

$('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')