如何通过查询类来检查DOM中的元素是否被隐藏?

时间:2013-08-06 22:23:51

标签: jquery css file

鉴于下面的元素(“FileToUpload”),如何测试其类是设置为阻止还是不设置?

HTML

<div id=\ "FileToUploadLabel\">File:</td>
    <td colspan=\ "1\">
</div>
<input type=\ "file\" id=\ "FileToUpload\" name=\ "FileToUpload\" size=\ "70\"/>

JS

//To show the file control: 
$("#FileToUpload").css("display", "block");

//To hide the file control: 
$("#FileToUpload").css("display", "none");

基本上我需要在这样的条件语句中测试它:

if ("FileToUpload not hidden" && $("#FileToUpload").val() == "") 
{
  Alert("An file needs to be uploaded when File tag is being displayed.");
  return;
}

谢谢

4 个答案:

答案 0 :(得分:1)

this StackOverflow question。使用$(element).is(":visible")检查它是否隐藏。此外,您可以使用.hide().show()更轻松地隐藏和显示元素。

答案 1 :(得分:1)

这样的事情对你有用:

var currDisplay = $("#FileToUpload").css("display");


if (currDisplay != "none" && $("#FileToUpload").val() == "") 
{
  Alert("An file needs to be uploaded when File tag is being displayed.");

}

答案 2 :(得分:1)

最简单的方法是在jquery中使用内置的“:visible”选择器

if($("#FileToUpload").is(":visible") && $("#FileToUpload").val() == ""){
  //do something
}

答案 3 :(得分:0)

this answer上看到您可以使用:hidden选择器:

if($('#FileToUpload:hidden').length && $("#FileToUpload").val()){
    Alert("An file needs to be uploaded when File tag is being displayed.");
    return;
}