jQuery检测哪个元素是可见的

时间:2013-02-27 19:21:17

标签: javascript jquery

我有几个具有相似类名的表,但一次只能看到一个表。我有使用jQuery来检测和保存可见表的类名的麻烦(我可以使用.is(':visible')来检查并保存正面的类名,但它有点麻烦。) 。我很感激任何建议。

HTML

<table class="tab_Chemical" border="0" style="display:none">
    <tr><th><label for="id_wat_hl">Water Column Half life (days):</label></th>
        <td><input type="text" name="wat_hl" id="id_wat_hl" /></td></tr>
</table>
<table class="tab_Physical" border="0">
    <tr><th><label for="id_mas_tras_cof">Mass Transfer Coefficient (m/s):</label></th>
        <td><input type="text" name="mas_tras_cof" value="1e-08" id="id_mas_tras_cof" /></td></tr>
</table>

JS

<script type="text/javascript">
$(document).ready(function() {
     ###CODE TO DETECT VISIBLE CLASS and SAVE the CLASS NAME###
});
</script> 

2 个答案:

答案 0 :(得分:1)

尝试使用:visible伪选择器以及^(以...开头)选择器:

$(document).ready(function () {
    var visible = $("[class^='tab_']:visible");
});

但选择器的开头是 little 模糊。如果可以的话,给他们一个共同的课程(好的呐喊凯文B)(下面假设班级tab是普通班级):

$(document).ready(function () {
    var visible = $(".tab:visible");
});

答案 1 :(得分:1)

这样的事情可能是:

var classes=[];
$("table:visible").each(function(){
   classes.push($(this).attr('class'));
});

虽然看似奇怪的要求。你可能想退后一步,看看是否有更合理的方法来做你想做的事。