I have the following code:
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"]')
返回了任何元素吗? - gen_EricQSA()[0]
等同于querySelector();
。 - Sterling ArcherquerySelectorAll()[0]
,它会获取与选择器匹配的每个元素,然后返回第一个实例。而querySelector()
则返回选择器匹配的第一个实例。 - Sterling Archer