2

我有几个具有相似类名的表,但一次只能看到一个表。我在使用 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> 
4

2 回答 2

1

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

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

但是以选择器开头的部分有点模糊。如果可以的话,给他们一个共同的班级(好喊凯文B)(下面假设班级tab是共同的班级):

$(document).ready(function () {
    var visible = $(".tab:visible");
});
于 2013-02-27T19:23:14.023 回答
1

可能是这样的:

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

不过,这似乎是一个奇怪的要求。您可能想退后一步,看看是否有更合乎逻辑的方式来做您想做的事。

于 2013-02-27T19:24:08.270 回答