JavaScript错误:无法获取属性';风格';未定义引用或空引用?

JavaScript错误:无法获取属性';风格';未定义引用或空引用?,javascript,asp.net,Javascript,Asp.net,我用复选框创建了DropDownList js中有一个错误: document.onclick = check; function check(e) { var target = (e && e.target) || (event && event.srcElement); var obj = document.getElementById('divChkList'); var obj1 = document.getElementById(

我用复选框创建了DropDownList
js中有一个错误:

document.onclick = check;
function check(e) {
    var target = (e && e.target) || (event && event.srcElement);
    var obj = document.getElementById('divChkList');
    var obj1 = document.getElementById('ddlChkList');
    if (target.id != "alst" && !target.id.match("chkLstItem")) {
        if (!(target == obj || target == obj1)) {
            obj.style.display = 'none'
        }    
html:

<table>
      <tr>
            <td valign="top" style="width: 165px">
                  <asp:PlaceHolder ID="phDDLCHK" runat="server"></asp:PlaceHolder>
            </td>
            <td valign="top">
                  <asp:Button ID="btn" runat="server" Text="Get Checked" OnClick="btn_Click" />
            </td>
            <td valign="top">
                  <asp:Label ID="lblSelectedItem" runat="server"></asp:Label>
            </td>
      </tr>
</table>
<asp:HiddenField ID="hidList" runat="server" />

,dtListItem.Rows[i][“ID”].ToString());
添加(“onclick”、“getSelectedItem(“+lstValue+”、“+i+”、“+lstID+”、“listItem”);”;
chkBxLst.Items.Add(lstItem);
}
System.Web.UI.HtmlControls.HtmlGenericControl div=新建System.Web.UI.HtmlControls.HtmlGenericControl(“div”);
div.ID=“divChkList”;
div.Controls.Add(chkBxLst);
div.Style.Add(“边框”、“黑色1px实心”);
div.Style.Add(“宽度”,“160px”);
添加“高度”、“180px”);
div.Style.Add(“溢出”、“自动”);
div.Style.Add(“显示”、“无”);
phDDLCHK.Controls.Add(ddl);
phDDLCHK.Controls.Add(div);
此处的错误
obj.style.display='none'

我一直在网上寻找解决方案,但什么都不起作用


我做错了什么?

问题中提供的HMTL没有ID为
divChkList的元素

即使它存在,调用ASP.net控件的正确方法如下

var obj = document.getElementById('<%=divChkList.ClientID%>');
var obj=document.getElementById(“”);

这是因为asp.net不会呈现与您在
服务器控件的标记中指定的id相同的id,除非指定使其保持静态。

问题中提供的HMTL没有id为
divChkList的元素

即使它存在,调用ASP.net控件的正确方法如下

var obj = document.getElementById('<%=divChkList.ClientID%>');
var obj=document.getElementById(“”);

这是因为asp.net不会呈现与您在
服务器控件的标记中指定的id相同的id,除非指定使其保持静态。

发布HTML。是否确实定义了
divChkList
?这意味着javascript找不到divChkList。我同意您应该将HTML发布到HTML
divChkList
,并且
Dlchklist
找不到。这就是为什么在你发布的html片段中没有id为
divChkList
Dlchklist
ChklistItem
的元素。发布你的html。你确定定义了
divChkList
吗?这意味着javascript找不到divChkList。我同意你应该在你的html
divChkList
ddlChkList
中发布你的html。这就是为什么在你发布的html中没有id为
divChkList
ddlChkList
的元素,也没有
chklistem
的错误。