javascript - 元素在 IE 8 中始终为空

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

我有以下代码:

 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 语句在它不应该执行的时候正在执行,因为有一个值?该字段只是一个文本字段。

最佳答案

原来 trim 不受 IE 8 支持,我删除了它并且它有效!

关于javascript - 元素在 IE 8 中始终为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33373753/

相关文章:

javascript - 来自 iframe 的 Android WebView postMessage 和 Assets 中的页面

javascript - Rails - 如何将 javascript 变量放入 erb 代码中

ruby-on-rails - 在 response_to block 的 JS 部分返回 HTML 会在 IE 中引发错误

html - IE中显示的隐藏字段值

Javascript 使用数组中的名称定义变量

javascript - 下一个JS : How to send data from one page to another page's getInitialProps function

javascript - 在 Jquery 中循环遍历定义大小的元素?

html - Grails 表格,嵌套 map

html - 在 <p> 标签内创建一个 span 作为颜色框

javascript - Internet Explorer 中的 HTML5 拖放问题(无法访问 dataTransfer 属性)