关于visible="false"使用document.getElementById的有关问题

关于visiblefalse使用document.getElementById的问题代码如下:HTML codediv runatserver iddiv1

关于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()函数也不会执行。