日期:2014-05-16  浏览次数:20430 次

关于visible="false"使用document.getElementById的问题
代码如下:
HTML code

<div runat="server" id="div1" visible="false">
 <asp:Button ID="Button1" runat="server" Text="Button" />
</div>



当页面加载完毕后
我使用document.getElementById('Button1').style.display = "none";提示缺少对象,无法隐藏Button1

使用jquery里的$("#Button1").hide()却可以成功隐藏

虽然我知道visible="false"后里面的标签用document.getElementById是取不到的
但为什么jquery能取到?两个有什么区别呢?分别是什么原来啊,我调js断点也看不太明白,求高手讲解下


------解决方案--------------------
。。。。。那条
$("#Button1").show(); //这会能用?你是以什么判断它能用的?显示出来了?

你试下:alert($("#Button1").val());//应该也是undefined才对
------解决方案--------------------
document.getElementById(id) 找不到会直接报错.
而$(id)找不到是不会报错,也就是说它有检查id是否存在功能【详细看源码】。当id不存在对应$(id).show()函数也不会执行。