我得到document.getElementById("#toHide")
为空。怎么解决这个?如何将此语句转换为jquery?
HTML:
<form wicket:id="safeForm" class="clearfix" />
<div id="toHide" class="pb-text-align-center">
<img id="loadingImg" src="my image location" style="margin-left: auto; margin-right: auto;"/>
</div>
在字符串缓冲区中创建JavaScript代码的Java代码:
if(flag == false){
flag = true;
buffer.append("$('#toHide').doTimeout(1000, ");
buffer.append("function() { ");
buffer.append("$('#").append(component.getMarkupId()).append("').submit(");
buffer.append(");");
buffer.append("$('#toHide').html('<img id=\"loadingImg\" src=\"../../img/load.gif\" style=\"margin-left: auto; margin-right: auto;\"/>'); ");
buffer.append("});\n");
}
else{
buffer.append("\n document.getElementById(\'#toHide\').style.display='none';\n");
}
buffer.append("</script>");
2)我在全球范围内声明了flag = false。我正在第一次验证标志并允许输入上面显示的块。但在此之后,图像仍显示在下一页。为什么?我需要做出哪些改变?
答案 0 :(得分:6)
使用document.getElementById
时,您不需要#
document.getElementById('toHide').style....
答案 1 :(得分:0)
对于jQuery,请尝试:
buffer.append("\n $(\'#toHide\').hide();\n");
而不是
buffer.append("\n document.getElementById(\'#toHide\').style.display='none';\n");
答案 2 :(得分:0)
#
不属于ID,因此您应该使用:
document.getElementById('toHide')。 至于jquery部分:
$("#toHide").hide()
这次是#
。