0

我正在使用第三方网格来显示一些数据,但我无法控制它产生的标记

在下面的示例中,我想隐藏相邻单元格没有值的行的提交按钮(即下面示例中的中间行)

我认为这可以通过 jQuery 实现,但我有点坚持如何有条件地做事

<div id="grid">
    <table>
        <tr>
            <td>123</td><td><a href="/go/somewhere">Submit</a></td>
        </tr>
        <tr>
            <td></td><td><a href="/go/somewhere">Submit</a></td>
        </tr>
        <tr>
            <td>123</td><td><a href="/go/somewhere">Submit</a></td>
        </tr>
    </table>
<div>

有任何想法吗?

4

3 回答 3

1

我认为这应该可行,我已经在http://jsfiddle.net/Bu5eZ/中尝试过,它按预期工作。

var cells = $("table tr td:first-child");

cells.each(function(i){
    if ($(this).text() === ''){
         $(this).next().find('a').hide();
    }
});
于 2013-02-13T15:17:15.117 回答
1

您可以使用.filter()jQuery 方法,在其中插入您自己的逻辑。

$('a').filter(function () {
    return $(this).closest('tr').find('td:first-child').html() === '';
}).hide();

最后链接一个简单.hide()的。

编辑,更改为td:first-child,加快速度。

于 2013-02-13T15:17:28.287 回答
1

演示:http: //jsfiddle.net/ChgMx/1/

$("#grid a").each(function(i,k){
    if($(k).parent().prev().text().length == 0) $(k).hide();
});
于 2013-02-13T15:23:49.623 回答