让我们说
<div id = "test_id" class = "test_class"> </div>
JS
alert( $("#test_id").hasClass('test_class') ); // result is true
我只是写另一种方法来获得相同的预期结果但是没有用,为什么?
var test = ' " ' + "test_id" + ' " ' ;
alert( $(test).hasClass('test_class') ); // not working, why ?????
答案 0 :(得分:3)
首先,你不能分配这样的变量。 var
是一个关键字,表示即将发生变量声明。摆脱第一个=
标志。
其次,您已在字符串中包含"
个字符。这些用于声明一个String文字,这是你在第一个例子中传递给jQuery函数的内容。它们不属于字符串本身。
第三,在第二个例子中,你没有在选择器的开头加入#
字符。
如果您将第二个示例更改为:
var test = '#test_id';
那么它应该可以正常工作。
答案 1 :(得分:1)
变量'test'需要采用ID选择器的格式 - 即#test
所以它应该是:
var test = '#test_id';
alert( $(test).hasClass('test_class') );
答案 2 :(得分:0)
现在怎么样?
var test = '#test_id'; // no need for the inner double quotes
alert( $(test).hasClass('test_class') );
答案 3 :(得分:0)
var test = '#test_id';
alert( $(test).hasClass('test_class') ); // should be working now
答案 4 :(得分:0)
您正在重复引用test
中存储的ID:
var test = ' " ' + "test_id" + ' " ' ; // test == '"test_id"' == broken
只需var test = "test_id"
,不要忘记添加#
答案 5 :(得分:0)
var = test ='“'+”test_id“+'”'; //&lt; - 这是错误的
var test =“#test_id”; //&lt; - 这没关系
你缺少一些基本技能。可能一个教程对于清除一些基本的东西很有用。