请问为什么Jquery中的toggle()执行起来有问题?
在我点击之后div是交替隐藏和显示,但$("#ShowHideEmbeded").html("Hide Embeded Code");似乎从来没有执行
此外是不是应该用$("#ShowHideEmbeded").text("Hide Embeded Code")更改DIV中的内容
$("#ShowHideEmbeded").bind("click", function () {
$("#TextAreaLinkCode").toggle();
if ($("#TextAreaLinkCode").display = "none") {
$("#ShowHideEmbeded").html("Show Embeded Code");
} else {
$("#ShowHideEmbeded").html("Hide Embeded Code");
}
});
<div id="ShowHideEmbeded" style="cursor: pointer;">Show Embeded Code</div>
------解决方案--------------------
$().display='none'
1.jQuery取display需要使用jQuery.css('display');
2.逻辑判断需要使用===或==,你的写法等于是给某jQuery对象添加了一个属性,名为"display"值为"none",然后再检查这个jQuery对象的display,于是永远为真,else语句永远不会执行。
JScript code
$("#ShowHideEmbeded").bind("click", function () {
$("#TextAreaLinkCode").toggle();
if ($("#TextAreaLinkCode").css("display")=== "none") {
$("#ShowHideEmbeded").html("Show Embeded Code");
} else {
$("#ShowHideEmbeded").html("Hide Embeded Code");
}
});
------解决方案--------------------
顶楼上!
JScript code
$("#ShowHideEmbeded").bind("click", function () {
$("#TextAreaLinkCode").toggle();
if ($("#TextAreaLinkCode").display == "none") { //这个地方应该两个等号,如果判断0,null应该用3个等号
$("#ShowHideEmbeded").html("Show Embeded Code");
} else {
$("#ShowHideEmbeded").html("Hide Embeded Code");
}
});