怎么判断HTML中某个元素是否可见(一个普通的input框放在一个不可见的层内是不可见的,不要递归找父元素的display属性) 这样不可以吗var obj=document.getElementsByName("test");//获得对象if(obj.style.display=="none") break;....其他操作 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <div style="display:none"><input type='text' id='txt1'/></div><div><input type='text' id='txt2'/></div><button onclick="Test()">测试可见性</button><script>function Test(){ var id=prompt("请输入id,可能值为1或2","1"); try { document.getElementById("txt"+id).focus();//使用focus尝试获取焦点,如果获取不了说明隐藏了 } catch(e) { alert("id为"+id+"的控件不可见!"); }}</script> visibility不好用...<div style="display:none"><!--<div style="visibility:hidden">--><table> <tr> <td> <input id="test" name="test"></td></tr></table> </div><script type="text/javascript">window.onload = function () { with (document.getElementById("test")) { if (offsetWidth + offsetHeight == 0) alert("东西呢?"); } };</script> 这个和hidden一个道理为什么跳它不跳hidden呢? <HTML> <HEAD> </HEAD> <BODY> display:<input type=checkbox onclick="document.getElementById('divId').style.display=(this.checked?'':'none');" checked /><br><div id="divId" > <table> <tr> <td> <input id="test" name="test"> </td> </tr> </table> </div> <input type=button value=click onclick="alert('可见吗'+(document.getElementById('test').offsetHeight>0));"> </BODY></HTML> muxrwc 好读书时不好读书,好读书时不好读书,唉,老了 发表于:2008-02-28 18:03:454楼 得分:0 这个和hidden一个道理为什么跳它不跳hidden呢? 这句我不大懂,不过貌似offsetHeight和offsetWidth可以解决,现在结帖,不过我也好奇,为什么递归效率差不了多少呢???请muxrwc发表一下,另外visibility不好用... 是什么意思???我主要是怕有嵌套错误造成无法判断,也有考虑效率问题谢谢 另外用focus我没试因为用focus很容易造成死循环 focus不兼容:D如果只是考虑display:none;这种隐藏的情况,判断offset已经足够了.. ASP批量删除复选框选中后为什么不能取消选择 如何基于Web制作视频 这段代码如何解释呢? 点击链接之后,2秒再进入页面的问题~ 欢迎关注 如何获取class 里面的超链接标签的onclick的onclick 参数 关闭页面的问题 如何用javascript改变当前窗口的属性 iframe下有个frameset,frameset中的frame如何引用iframe中的js脚本,如jquery,easyui? 这两个this如何理解 求助:NodeJS编写C++扩展,在js向C++传递字符串时遇到问题 怎么用javascript代码实现这么一个功能? 如何左右拖动图片
<div><input type='text' id='txt2'/></div>
<button onclick="Test()">测试可见性</button>
<script>
function Test()
{
var id=prompt("请输入id,可能值为1或2","1");
try
{
document.getElementById("txt"+id).focus();//使用focus尝试获取焦点,如果获取不了说明隐藏了
}
catch(e)
{
alert("id为"+id+"的控件不可见!");
}
}
</script>
<!--<div style="visibility:hidden">-->
<table> <tr> <td>
<input id="test" name="test"></td></tr></table>
</div>
<script type="text/javascript">
window.onload = function () {
with (document.getElementById("test")) {
if (offsetWidth + offsetHeight == 0) alert("东西呢?");
}
};
</script>
<HEAD>
</HEAD>
<BODY>
display:<input type=checkbox onclick="document.getElementById('divId').style.display=(this.checked?'':'none');" checked /><br>
<div id="divId" >
<table> <tr> <td>
<input id="test" name="test"> </td> </tr> </table>
</div>
<input type=button value=click onclick="alert('可见吗'+(document.getElementById('test').offsetHeight>0));">
</BODY>
</HTML>
好读书时不好读书,好读书时不好读书,唉,老了
发表于:2008-02-28 18:03:454楼 得分:0
这个和hidden一个道理为什么跳它不跳hidden呢? 这句我不大懂,不过貌似offsetHeight和offsetWidth可以解决,现在结帖,不过
我也好奇,为什么递归效率差不了多少呢???
请muxrwc发表一下,
另外
visibility不好用...
是什么意思???我主要是怕有嵌套错误造成无法判断,也有考虑效率问题
谢谢
用focus我没试
因为用focus很容易造成死循环
如果只是考虑display:none;这种隐藏的情况,判断offset已经足够了..