2

クラス名が似ているテーブルがいくつかありますが、一度に表示できるテーブルは 1 つだけです。可視テーブルのクラス名を検出して保存するために 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");
});

しかし、セレクターで始まるのは少しあいまいです。できれば、全員に共通のクラスを与えてください (Kevin 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 に答える