0

jquery td 内のすべての div id を探しています。id == "" の場合、div id の行を非表示にします。これまでのところ、html を使用したスクリプトは次のようになりますが、スクリプトは TD 内の div id を見つけていません。

下部にスクリプトも含めました。私の問題は、#div として割り当てている「div id」を識別していると思いますが、まだ機能していません。

<html>
<head>
<title></title>
<style type="text/css">
    .style2
    {
        width: 84px;
    }
    .style3
    {
        width: 91px;
    }
    .style4
    {
        width: 86px;
    }
</style>
</head>
<body>
<div style="height: 254px; width: 406px">
    <table id="test" border="2" style="width: 78%; height: 181px;">
        <tr>
            <td class="style4">
                Test</td>
            <td class="style2">
                Test</td>
            <td class="style3">
                Test</td>
        </tr>
        <tr id="EN" >
            <td colspan="3" ><hr><div id="EN-TXT">English</div></td>
        </tr>
        <tr id="ES">
            <td colspan="3" ><hr><div id=""></div></td>
        </tr>
        <tr id="PT">
            <td colspan="3" ><hr><div id="PT-TXT">Portuguese</div></td>
        </tr>
        <tr id="FR" style="display:none">
            <td colspan="3" ><hr><div id="FR-TXT">French</div></td>
        </tr>
        <tr>
            <td colspan="3">Footer</td>
        </tr>
    </table>
</div>
<script src="http://code.jquery.com/jquery-1.5.js"></script>
        <script type="text/javascript">
                $('td').each(function() {
                   if ($(this).find('#div').text()=="") {
                       $(this).closest('tr').hide();
                }
         });
</script>
</body>
4

2 に答える 2

1
// hides the div with id=''
$('td > div[id=""]').closest('tr').hide();

http://jsfiddle.net/4Yvjj/

于 2013-02-27T21:49:00.023 に答える
0

これを試して:

$('td').each(function() {
    if ($(this).find('div').attr("id")=="") {
         $(this).closest('tr').hide();
    }
});
于 2013-02-27T21:47:50.737 に答える