2009-11-04 44 views
2

Firefox和Internet Explorer似乎以不同的方式处理jQuery中的空修饰符。jQuery的浏览器不一致:空。我如何解决这个问题?

IE有趣的是,它的工作方式是我想要它,但Firefox似乎将白色空间计为一个实际的字符。这因此呈现使用:空完全无用,因为我看不到DIV是否为空。

我基本上有一组DIV与他们的一类物品。我想删除所有没有内容的DIV,尽管可能存在空白区域。我尝试使用这样的:

$(".item:empty").remove();

然而,其上运行的字符串的长度的检查显示,火狐仍然认为在一个空的DIV有字符...尽管这只是空白。

所以,我想修太:

if($.trim($(".item").text()) == "") { $(".item").remove(); }

然而,微调功能似乎并没有对此产生影响。现在怎么办??

我的标记是像这样:

<div class="item"></div> <div class="item">hello 3</div>

我想摆脱所有DIV的什么也没有在他们。

任何想法?

非常感谢, Michael。

回答

1

现在没事了。

我到底做了什么是这样的:

$(".item").each(function(myItem){ var myItem = jQuery.trim($(this).text()); if(myItem.length == 0) { $(this).remove(); } })

希望它可以帮助别人的未来。

+0

是的,.text()在你的第一个例子中不起作用,因为它将** all **元素的合并文本与类“item”相关联,所以如果页面上有任何.item文本你的比较会失败。很高兴你解决了它。 – Aaron 2009-11-04 14:54:55

相关问题