【发布时间】:2017-09-01 17:45:13
【问题描述】:
我有以下代码:
<script>
var Var1 = "";
$(document).ready(function() {
window.Var1 = "Easy";
});
</script>
<script>
$(document).ready(function() {
if $("div."+window.Var1).length > 0){
alert("success"); //DOESN'T WORK
}
});
</script>
这不会提示“成功”
如果我将window.Var1 替换为Easy(如下所示),则警报有效;因此,条件已满足,但 代码未将 $("div."+window.Var1) 解释为 $("div.Easy")
<script>
var Var1 = "";
$(document).ready(function() {
window.Var1 = "Easy";
});
</script>
<script>
$(document).ready(function() {
if $("div.Easy").length > 0){
alert("success"); // WORKS
}
});
</script>
【问题讨论】:
-
这里的
\\.Var1是什么?您应该在这里遇到语法错误,并且这些错误会显示在您的 JavaScript 控制台中。 -
这是
window.Var1,我试图逃避小数点。我认为代码可能将其视为由小数分隔的两个类。然而,即使没有 `\`,代码也不会运行。 -
.不是小数。它用于访问window的元素。所以使用“\\”你的代码甚至不是有效的JS -
将 if $("div."+window.Var1).length > 0){ 更改为 if ($("div."+window.Var1).length > 0){。你错过了(
-
@ivo 控制台日志没有问题,因为问题与此无关;显然,刻薄比真正试图帮助某人更容易......