+ -
当前位置:首页 → 问答吧 → 有没有一种属性或方法能得知某控件是否呈现在页面上?

有没有一种属性或方法能得知某控件是否呈现在页面上?

时间:2011-09-13

来源:互联网

例:
...//在input前面有各种不同的情况使下面的input处于隐藏状态(也就是没有显示在页面上)
<input type="text" id="userid">
...


问:用JS,有什么办法(或变通办法)得知id="userid"的控件是否处于隐藏状态(页面上看不到,HTML中能看到)?

作者: downdown518   发布时间: 2011-09-13

纯js 就obj.style.display=="none",jquery 就 $('#userid').is('hidden') or $('#userid').is(":visible")

作者: ycmjh2010   发布时间: 2011-09-13

这个我知道。

我的意思是:

<input type="text" id="userid"> 如何得之该控件是否显示在界面上?(在该控件的前面有可能做了N多的逻辑控制,导致该控件没有显示在界面上)
引用 1 楼 ycmjh2010 的回复:
纯js 就obj.style.display=="none",jquery 就 $('#userid').is('hidden') or $('#userid').is(":visible")

作者: downdown518   发布时间: 2011-09-13

var input = document.getElementById("input").style.display; //获得显示属性
 alert(input);

作者: jike316   发布时间: 2011-09-13

引用 2 楼 downdown518 的回复:

这个我知道。

我的意思是:

<input type="text" id="userid"> 如何得之该控件是否显示在界面上?(在该控件的前面有可能做了N多的逻辑控制,导致该控件没有显示在界面上)
引用 1 楼 ycmjh2010 的回复:
纯js 就obj.style.display=="none",jquery 就 $('#userid').is('hidden') or $(……

那你用var input = document.getElementById("input")得到的是空那不就是木有加载在页面上么

作者: jike316   发布时间: 2011-09-13

<input type="text" id="userid">
整个页面中压根没有对它设置style和display,只是因为它的父节点(具体多少级不知道设置了整个节点隐藏)。

引用 3 楼 jike316 的回复:
var input = document.getElementById("input").style.display; //获得显示属性
alert(input);

作者: downdown518   发布时间: 2011-09-13

本身是加载到了页面上(HTML代码中有该控件),只是在该控件的前面N级设置了整个隐藏。
引用 4 楼 jike316 的回复:
引用 2 楼 downdown518 的回复:

这个我知道。

我的意思是:

<input type="text" id="userid"> 如何得之该控件是否显示在界面上?(在该控件的前面有可能做了N多的逻辑控制,导致该控件没有显示在界面上)
引用 1 楼 ycmjh2010 的回复:
纯js 就obj.style.display=="none",jquery 就 $('#u……

作者: downdown518   发布时间: 2011-09-13


我想知道,在不寻找它父节点的情况下(可能N次),仅通过该控件本身如何得之该控件是否显示在页面上了?

引用 4 楼 jike316 的回复:
引用 2 楼 downdown518 的回复:

这个我知道。

我的意思是:

<input type="text" id="userid"> 如何得之该控件是否显示在界面上?(在该控件的前面有可能做了N多的逻辑控制,导致该控件没有显示在界面上)
引用 1 楼 ycmjh2010 的回复:
纯js 就obj.style.display=="none",jquery 就 $('#u……

作者: downdown518   发布时间: 2011-09-13

如果是这样,父类隐藏了,你这样input = document.getElementById("userid")获得是"",如果是页面没有加载,也就是页面没有id为userid的html标签那直接获得的是null,这样就可以判断了呗

作者: jike316   发布时间: 2011-09-13