'content' 属性 的字符串比较 JQuery 从 <div> 元素读取
String comparison of 'content' property read from <div> element by JQuery
我只是问这个,因为我真的很困惑,即使修剪也无助于通过比较。
代码:
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");
}
});
为什么这里字符串比较失败?
编辑:让我感到困惑的奇怪事情是这种比较在 Chrome/Chromium 中是可行的,但在 Firefox 中却不行。
Value 包含单引号,从字面上看,将 if 更改为
if (value == "'someValue'")
通过,
或在 trim 之后添加此内容并保持 if 不变
value=value.replace(/'/g,'');
或将 if 更改为
if (eval(value) == "someValue")
如何替换内容开头和结尾的引号和双引号?也许在修剪后添加这样的东西?
value = value.replace(/^(\"|\')|(\"|\')$/g, "");
FIDDLE(适用于 Chrome 和 Firefox)
我只是问这个,因为我真的很困惑,即使修剪也无助于通过比较。
代码:
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");
}
});
为什么这里字符串比较失败?
编辑:让我感到困惑的奇怪事情是这种比较在 Chrome/Chromium 中是可行的,但在 Firefox 中却不行。
Value 包含单引号,从字面上看,将 if 更改为
if (value == "'someValue'")
通过,
或在 trim 之后添加此内容并保持 if 不变
value=value.replace(/'/g,'');
或将 if 更改为
if (eval(value) == "someValue")
如何替换内容开头和结尾的引号和双引号?也许在修剪后添加这样的东西?
value = value.replace(/^(\"|\')|(\"|\')$/g, "");
FIDDLE(适用于 Chrome 和 Firefox)