我试过这个,但是它没有用。我是JS的新手,我该怎么做?
function test() {
if(document.getElementById('div1').style.display = 'block'){
document.getElementById('div1').style.display = 'none';
}
if(document.getElementById('div1').style.display = 'none'){
document.getElementById('div1').style.display = 'block';
}
}
答案 0 :(得分:1)
它不应该是public class UnknownUnitException extends Exception{
private String message = null;
public UnknownUnitException() {
super();
}
public UnknownUnitException(String message) {
super(message);
this.message = message;
}
public UnknownUnitException(Throwable cause) {
super(cause);
}
@Override
public String toString() {
return message;
}
@Override
public String getMessage() {
return message;
}
}
,它应该是=
条件==
和if
条件总是设置if
,所以要么使用style.display = 'block'
或仅else if
。
else
或
<div id="div1" style="display:block"></div>
function test() {
if (document.getElementById('div1').style.display == 'block') {
document.getElementById('div1').style.display = 'none';
}
else if(document.getElementById('div1').style.display == 'none') {
document.getElementById('div1').style.display = 'block';
}
}
答案 1 :(得分:1)
您拥有的代码(一旦更正)将切换可见性,但在第二次用户点击时不会使元素不可见。
我已经设置了一个使用纯JavaScript的JSFiddle here,以便在问题标题中执行您所要求的操作。
我们假设您的HTML看起来像这样,DIV
的类名称为“tester”:
<div class="tester">This is a triumph.</div>
<p>I'm writing a note here; huge success</p>
实现此目标的一种方法是向DIV
添加数据元素以跟踪点击次数,然后,当点击次数达到2时,我们会隐藏它。代码如下:
document.getElementsByClassName("tester")[0].onclick = function(targ) {
if(!targ.target.hasAttribute("data-click")) {
targ.target.setAttribute("data-click",0);
}
var currClicks = +targ.target.getAttribute("data-click");
if(currClicks==2){
targ.target.style.display = "none";
} else {
targ.target.setAttribute("data-click", currClicks+1);
}
};
同样,这将为您提供您在问题中询问的功能但与您的代码示例不匹配,因为它实际上并不是您想要的。如果您需要更多信息,请随时询问,但我认为这将为您提供所需的信息。