在jQuery中使用JavaScript的不等于符号

7
这是在JS和jQuery代码中使用的“不等于”符号吗?
!== OR != 

都没有起作用

这是我正在使用的代码

var val = $('#xxx').val();
if (val!='') {
 alert("jello");
}

感谢您,Jean。

jQuery 代码就是 JavaScript,没有任何区别。 - nickf
请查看此问题中的比较表 https://dev59.com/MXVD5IYBdhLWcg3wHn2d。它是针对PHP的,但大部分也适用于Javascript。 - nickf
5个回答

19

JQuery中的相等性测试与“标准”JavaScript没有任何区别。

!=表示“不等于”,但是!==确保两个值具有相同的类型。例如,1 == '1'true,但1 === '1'不是,因为左侧的值为数字而右侧的值为字符串。

根据你的示例,我们无法确定正在发生什么。我们需要一个真实的示例。


我只是想知道在执行不等操作时检查类型的可能价值是什么,有人知道吗? - Darren

2

.val()被用于从表单中检索或设置输入的值,这是您想要做的吗?如果不是,也许您想使用.text()或.html()。

如果这确实是您想要做的,也许您的选择器有误,并且它会向您返回null,并且null不等于'',或者您实际上在那里拥有数据,例如空格。 :)


1

可能你的 #xxx 节点中有空格,这就是为什么 !== 和 != 都失败的原因,你可以尝试以下方法来测试非空格字符

var val = $('#xxx').val();

if (/\S/.test(val)){
    alert('jello');
}

注意:我假设jQuery的.val()不会返回null,因为它在jQuery源代码中有这样一行

return (elem.value || "").replace(/\r/g, "");

如果不是这样,你需要像这样做。
if (val && /\S/.test(val)){
    alert('jello');
}

0

0

它可以与jQuery和普通的JavaScript一起使用。

您应该检查(警报/调试)您的val变量的值和空值。

您还应该检查$('#xxx').length是否获取元素,否则您将得到错误,因此您的if条件将为false。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接