控件在Javascript函数中未定义

控件在Javascript函数中未定义,javascript,asp.net,Javascript,Asp.net,我的.aspx页面中有一个ID正确的控件。但是当在函数中调用它时,它表示它是未定义的 控制: <div class="form-group" runat="server" id="divResult" visible="false"> <label class="control-label col-md-1">Result</label> <div class="col-md-11"> <p class="fo

我的.aspx页面中有一个ID正确的控件。但是当在函数中调用它时,它表示它是未定义的

控制:

<div class="form-group" runat="server" id="divResult" visible="false">
    <label class="control-label col-md-1">Result</label>
    <div class="col-md-11">
        <p class="form-control-static">
            <asp:Literal runat="server" ID="litCount">0</asp:Literal>
        </p>
    </div>
</div>

通过以下方式获取
divResult
元素:

var divResult = document.querySelector("#divResult");

解决方案1

当您在浏览器上使用runat=“Server”和服务器端控件render时,它的id或名称会发生更改,所以如果您想在js中通过id访问,请像这样使用

var textbox = document.getElementById('<%= divResult.ClientID %>');

首先尝试选择元素并将其放入
divResult
变量?@CertainPerformance让我试试!较新的浏览器确实允许直接访问id,但这是一种糟糕的做法,为什么不保持一致,您已经做到了
var hidListFolder=document.getElementById('hidListFolder')
或者由于您使用的是jQuery,请与之保持一致,然后尝试
$(“#divResult”).hide()
并使用$。ajaxMy猜测您不止一次拥有该ID。最后,这是什么<代码>$(“#btnGenerate”)。按钮(“重置”)???或
var divResult=document.getElementById('divResult')检索到的divResult值,该值为空
var divResult = document.querySelector("#divResult");
var textbox = document.getElementById('<%= divResult.ClientID %>');
<div class="form-group" runat="server" id="divResult" ClientIDMode="Static" visible="false">