请帮我.我使用单行javascript if语句,但我希望它在检查条件后执行两个操作,但我不知道如何放置第二个语句.我认为分号会起作用,但事实并非如此.它说分号是错误的.这是我的代码,用分号......
this.className === "unclickedButton" ? this.className = "clickedButton";
$("#alert").style.display="block" : this.className = "unclickedButton";
$("#alert").style.display="none"
Run Code Online (Sandbox Code Playgroud)
this.className === "unclickedButton" ?
(this.className = ($("#alert").style.display="block", "clickedButton")) :
(this.className = ($("#alert").style.display="none", "unclickedButton"));
Run Code Online (Sandbox Code Playgroud)
...但它不会说它使可读代码.我会用正常的if.
这是一个使用jQuery(源代码)的实例.(I用和,见下文).但严重的是,将可维护性/可读性与以下内容进行比较:showhide
if (this.className === "unclickedButton") {
this.className = "clickedButton";
$("#alert").style.display = "block";
}
else {
this.className = "unclickedButton";
$("#alert").style.display = "none";
}
Run Code Online (Sandbox Code Playgroud)
我知道哪一个我宁愿做维护.或者如果你想要一个单行,那么稍微更改一下CSS,这样你就可以添加一个button类和一个clicked类,并且这样做(我在这里假设jQuery):
$("#alert").toggle($(this).toggleClass('clicked').hasClass('clicked'));
Run Code Online (Sandbox Code Playgroud)
旁注:您使用的选择器看起来与jQuery一样,但jQuery实例没有style属性.如果你正在使用Prototype或MooTools,你可能想要删除#前面的alert.如果您正在使用jQuery,请使用它show和hide方法(可能还有addClass/ removeClass).