我试图检测一个html元素是否可见或不使用jquery。检测元素是否可见(不使用jQuery)
上下文:
在忘记用户密码页面,我有一个表格,其中用户输入上提交自己的登录名和点击。之后,如果他设置了一个chalenge问题,它将被显示,他将能够回答这个问题并再次提交。 (之前的相同按钮)。
我的问题:当用户点击提交,在IE中,如果他点击了几次
,他会得到一个电子邮件,他每点击它的时间。
我想什么:
我想点击这个提交按钮后,关闭按钮,但我只能禁用它,如果两个条件是正确的:
- 如果用户已经提供他的登录名(没有错误)。
- 用户有一个chalenge问题注册,他回答正确。
我不能改变这个过程,所以我想过在答案的字段中添加一个id并检查它是否可见。如果是,并且用户单击提交按钮,我想要在标签上应用属性禁用按钮。我不知道的是如何做到这一点,而不使用jQuery。
使用jQuery我可以做这样的事情:
if($('#secretAns').is(':visible')) {
//i think it could be the solution
$('#general_Submit.Label').attr(disabled, disabled);
}
适用于:
<div id="secretAns" class="loginTxtFieldWrapper">
<font color='red'>*</font><input type="text" name="secretAns" />
<input type="hidden" name="isAnswerPage" value="1"/>
</div>
<p id="loginSubmitLink">
<input id="general_Submit.Label" type="submit" value="general_Submit.Label" />" />
</p>
我觉得很难寻找纯JavaScript的解决方案,因为每个人都倾向于使用jQuery和我不能在我的应用程序中使用它,所以如果有人可以帮助我用纯JavaScript来做到这一点,我会感激。
检查jQuery的源代码,看看他们在用':visible'选择器做什么。 – gdoron
可能重复[Javascript:如何检查元素是否可见?](http://stackoverflow.com/questions/11391452/javascript-how-to-check-if-element-is-visible) – xyz
@Ajinkya,你注意到“重复”是一个jQuery问题,对吧? – gdoron