javascript - 为什么 if (element.innerHTML == "") 在 Firefox 中不起作用

标签 javascript html internet-explorer firefox innerhtml

为什么 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/

相关文章:

javascript - 我可以删除并替换特定 DIV 之后的所有内容吗

javascript - Jquery 选择第一个字母?

javascript - $ ('.class' ).on 和 $(document).on 在 jquery 中的区别

jquery - Bootstrap : How can I use switch tabs from the menu bar?

javascript - Jquery - 桌面显示器和 iPad 的自定义 js 文件......?

javascript - 此代码在 IE 中不起作用

javascript - event.returnvalue=false 在 Firefox 中不起作用?

javascript - 如何创建一个单击时改变视觉效果的按钮?

html - 如何确定图像中某个区域的颜色html代码

internet-explorer - 使用 htaccess 重定向 IE 6、7 和 8 用户