我在IE浏览器中遇到问题,我的tr
中有大量的“空文本节点”。如果我跑
$('#myTr').children().length
和
$('#myTr').find('td').length
我得到相同的值,这意味着这些节点不会注册jquery。 :empty
选择器无效返回。
最重要的是,如果我从IE调试器中手动删除这些节点,我的格式会发生变化,因此会有一些内容发生。
这是我在IE调试器(IE 8,顺便说一句)中看到的内容:
有什么想法吗?这让我们疯了..
答案 0 :(得分:3)
在这里找到答案:
Remove whitespace and line breaks between HTML elements using jQuery
IE9中存在导致我的问题的错误:
http://javaevangelist.blogspot.com/2013/01/internet-explorer-9-ie9-table-white.html
答案 1 :(得分:1)
HTML与空白无关,因此不应该有空文本节点。我怀疑你有一个稍微不同的问题,恰好通过删除文本节点来解决。
例如,手动删除文本节点可能会强制重新生成或重新绘制文档,从而纠正渲染错误。或者可能搞乱调试器中的节点触发父(推测)上的hasLayout
。