为什么 if (element.innerHTML == "")
在 firefox 中不起作用
但在 IE 中工作正常,有什么想法吗?
最佳答案
如果没有看到您的 HTML 很难说,但我会说可能是因为您的元素中有一些空白区域,而 IE 不会将其视为文本节点,而 FF 会。
我认为将标签之间的任何空白区域视为文本节点实际上是更严格的标准合规性,但 IE 不合规。
你可以这样做:
var htmlstring = element.innerHTML;
// use the native .trim() if it exists
// otherwise use a regular expression
htmlstring = (htmlstring.trim) ? htmlstring.trim() : htmlstring.replace(/^\s+/,'');
if(htmlstring == '') {...
或者只是手动删除 HTML 标记中的空格。
关于javascript - 为什么 if (element.innerHTML == "") 在 Firefox 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3676927/