我有一个奇怪的问题:我的条件在javascript中不起作用:/
这是我的代码:
var myposition = $("#audioWelcome").data("myposition");
/* condition */
if (myposition == "true") {
....
}
不对吗?参见我的示例:http://jsfiddle.net/qqK5J/2/条件不起作用,并且html();或data();也行不通。
什么不正确?
最佳答案
要回答您的问题:
if (myposition == "true") {
无法正常工作,因为
myposition
是 bool(boolean) 值true
,它不等于字符串值"true"
。您可能想知道
myposition
为什么是 bool(boolean) 值。那是因为jQuery converts it to a boolean:因此,您真正要做的就是更改代码以设置 bool(boolean) 值而不是字符串,并相应地调整条件:
if (myposition) {
$(this).html("afficher le lecteur");
$('#audioWelcome').data('myposition', false);
} else {
$(this).html("cacher le lecteur");
$('#audioWelcome').data('myposition', true);
}
或更短:
$(this).html(myposition ? "afficher le lecteur" : "cacher le lecteur");
$('#audioWelcome').data('myposition', !myposition);
DEMO