jquery我正在寻找td内的所有div id,如果id ==“”则为div id隐藏行

时间:2013-02-27 21:45:35

标签: jquery javascript

jquery我正在寻找td内的所有div id,如果id ==“”然后隐藏div的行,到目前为止我的html脚本看起来像这样,但是脚本没有在TD中找到div id;

我还在底部包含了脚本,并且相信我的问题是识别“div id”,我将其指定为#div,但它无法正常工作。

<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>

2 个答案:

答案 0 :(得分:1)

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

http://jsfiddle.net/4Yvjj/

答案 1 :(得分:0)

试试这个:

$('td').each(function() {
    if ($(this).find('div').attr("id")=="") {
         $(this).closest('tr').hide();
    }
});