Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jquery比较返回false而不是true_Jquery - Fatal编程技术网

jquery比较返回false而不是true

jquery比较返回false而不是true,jquery,Jquery,使用$(this).text从HTML页面读取标签并将其与同一字符串进行比较时,返回false var readText = $(this).text(); // assume $(this).text() reads 1234 for you readText === "1234" //this return false 为什么会有这种行为?另外,如何修复此问题,以便比较将返回true。这是因为1234是一个整数,1234是一个字符串。如果使用==运算符,则检查它们是否具有相同的值+相同的类

使用$(this).text从HTML页面读取标签并将其与同一字符串进行比较时,返回false

var readText = $(this).text(); // assume $(this).text() reads 1234 for you
readText === "1234" //this return false

为什么会有这种行为?另外,如何修复此问题,以便比较将返回true。

这是因为
1234
是一个整数,
1234
是一个字符串。如果使用
==
运算符,则检查它们是否具有相同的值+相同的类型。如果您只想检查它们是否具有相同的值,请使用
=

有关JavaScript比较运算符的更多信息:


如果
$(this).text()
是字符串,则应执行
$(this).text().trim
。这将删除空格和换行符,这可能导致比较返回
false

这是因为
1234
是一个整数,
1234
是一个字符串。如果使用
==
运算符,则检查它们是否具有相同的值+相同的类型。如果您只想检查它们是否具有相同的值,请使用
=

有关JavaScript比较运算符的更多信息:


如果
$(this).text()
是字符串,则应执行
$(this).text().trim
。这将删除空格和换行符,这可能导致比较返回
false

不确定您是否正确

这个简单的小提琴声称:

js是这样的:

$(function () {
    var readText = $('#foo').text();
    console.log(readText === "1234");
});

其中
#foo
是一个简单的div,内容为1234。

不确定您是否正确

这个简单的小提琴声称:

js是这样的:

$(function () {
    var readText = $('#foo').text();
    console.log(readText === "1234");
});

其中
#foo
是一个简单的div,内容为1234。

您可能应该修剪字符串
$.trim(readText)==“1234”
如果正确检索字符串,我发现这不太可能。设置一个断点并查看实际值,确保车辆实际上是相同的,而不仅仅是外观相同,等等。如果您做了所有这些,但仍然认为有问题,那么设置一个JSFIDLE。否则,我想大多数人都会理所当然地怀疑。这是什么
.text()
对输入元素不起作用,将包含任何子节点的文本。似乎可以正常工作@如果HTML中没有空格,isherwood可以正常工作:您可能应该修剪字符串
$.trim(readText)==“1234”
如果正确检索字符串,我发现这不太可能。设置一个断点并查看实际值,确保车辆实际上是相同的,而不仅仅是外观相同,等等。如果您做了所有这些,但仍然认为有问题,那么设置一个JSFIDLE。否则,我想大多数人都会理所当然地怀疑。这是什么
.text()
对输入元素不起作用,将包含任何子节点的文本。似乎可以正常工作@如果HTML中没有空格,isherwood可以正常工作:
text
返回一个字符串。@未定义,则应首先执行
$(this).text().trim()
这将删除可能导致比较失败的空格和换行符是的,我在上面的评论中建议使用jQuery
$.trim
+1对于修剪部分。@Jonan,你说:“这可能会导致比较返回false”,你的意思是-true吗?因为它们都是弦。(关于示例)@SergeyBoiko如果
$(this).text()结尾有一个换行符或空格,
readText==“1234”
将返回
false
text
返回一个字符串。@undefined则应首先执行
$(this).text().trim()
这将删除可能导致比较失败的空格和换行符是的,我在上面的评论中建议使用jQuery
$.trim
+1对于修剪部分。@Jonan,你说:“这可能会导致比较返回false”,你的意思是-true吗?因为它们都是弦。(关于示例)@SergeyBoiko如果
$(this).text()
末尾有一个换行符或空格,
readText==“1234”
将返回
false