我只是问这个问题,因为我真的对此感到困惑,即使修剪也无助于通过比较。
代码:
HTML
<div id="someDiv"></div>
CSS
#someDiv {
content: "someValue";
}
JQuery
$(document).ready(function() {
var value = $("#someDiv").css("content");
value = $.trim(value);
console.log(value);
if (value == "someValue") {
console.log("good");
}
else {
console.log("bad");
}
});
为什么字符串比较在这里失败?
JSFIDDLE
编辑:奇怪的是,让我感到困惑的是,这种比较在Chrome/Chromium中可以,但在Firefox中不行。
替换内容开头和结尾的引号和双引号怎么样?也许在修剪后添加这样的东西?value = value.replace(/^("|')|("|')$/g, "");
FIDDLE(适用于Chrome和Firefox)
Value包含单引号,从字面上讲,将if更改为
if (value == "'someValue'")
通过,
或者在修剪后添加,并保持原样
value=value.replace(/'/g,'');
或将if更改为
if (eval(value) == "someValue")