【问题标题】:element is always empty in IE 8IE 8 中的元素始终为空
【发布时间】:2016-01-27 04:55:48
【问题描述】:

我有以下代码:

 if (document.querySelectorAll('[id$=":maindiv:usernametext::content"]')[0].value == null || document.querySelectorAll('[id$="maindiv:usernametext::content"]')[0].value.trim() == "") {
        console.log("maindiv:usernametext::content IS EMPTY !!!);
    }

在 IE 8 中,这个元素总是说值是空的,即使它不是。在浏览器 > IE 8 以及 Chrome 和 Firefox 中运行时,它可以工作。为什么每次都返回null。我在 IE 8 标准模式下运行。

更新

所以我只是 console.log(document.querySelectorAll('[id$=":maindiv:usernametext::content"]')[‌​0].value) 并且它正在返回值,但是这种情况不起作用?所以看起来选择器正在获取值,但是这个 if 语句在它不应该执行的时候执行,因为有一个值?该字段只是一个文本字段。

【问题讨论】:

  • 您确定document.querySelectorAll('[id$=":maindiv:usernametext::content"]') 正在返回任何元素吗?
  • 专业提示:QSA()[0] === querySelector();
  • @RocketHazmat 它在所有其他浏览器中返回,除了 IE 8
  • IE8 仅部分支持 querySelector/querySelectorAll
  • @SterlingArcher 我的查询会被支持吗?

标签: javascript html internet-explorer internet-explorer-8 css-selectors


【解决方案1】:

原来 IE 8 不支持 trim,我删除了它,它可以工作!

【讨论】:

  • 单击绿色勾号图标应将答案标记为“已接受”。这将帮助其他可能遇到类似问题的人找到答案。
  • 您必须等待两天才能接受自己的答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-26
  • 1970-01-01
相关资源
最近更新 更多