jquery比较返回false而不是true

时间:2014-07-18 20:25:50

标签: jquery

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

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

为什么会这样?另外如何修复此比较将返回true。

2 个答案:

答案 0 :(得分:3)

因为1234是一个整数,"1234"是一个字符串。如果使用===运算符,则检查它们是否具有相同的值+相同的类型。如果您只是想检查它们是否具有相同的值,请使用== 有关JavaScript比较运算符的更多信息:http://www.w3schools.com/js/js_comparisons.asp

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

答案 1 :(得分:0)

不确定你对此是否正确。

这个简单的小提琴另有说法:http://jsfiddle.net/e7nKP/1/

js是这样的:

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

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