繁体   English   中英

文档 getelementid 返回 null

[英]document getelementid is returning null

我得到document.getElementById("#toHide")是 null。 如何解决这个问题? 如何将此语句转换为 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>  

Java 代码在字符串缓冲区中创建 JavaScript 代码:

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。 我第一次验证标志并允许输入上面显示的 if 块。 但在此之后,图像仍然显示在下一页。 为什么? 我需要做些什么改变?

当您使用document.getElementById时,您不需要#

document.getElementById('toHide').style....

对于 jQuery,请尝试:

buffer.append("\n $(\'#toHide\').hide();\n");

代替

buffer.append("\n document.getElementById(\'#toHide\').style.display='none';\n");

#不是 id 的一部分,所以你应该使用:

document.getElementById('toHide')
. 至于 jquery 部分:

  $("#toHide").hide()

这次是#

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM