如何检测表是否存在(没有类或ID)

时间:2010-07-22 00:48:28

标签: jquery

我在尝试使用jQuery检测表是否存在时遇到问题。该表没有类或ID。

我想要实现的是除非存在表,否则不会触发以下代码:

function tableAltRows()
    {
        $("#content table tr:even").each(function(){
            $(this).addClass("alt");
        });
    }
$(tableAltRows);

所以我把最后一行改为:

if ($('table').length > 0) {
    $(tableAltRows);
}

但检查表长度的行永远不会返回0以外的任何内容。作为测试,如果我将其更改为== 0则调用tableAltRows函数。我对jQuery并不熟悉,所以我假设我错过了一些明显的东西?

2 个答案:

答案 0 :(得分:8)

我怀疑你在DOM准备就绪时没有调用你的函数。尝试:

$(document).ready(function() {
    if($('table').length) {
        alert('hello');
    }
});

答案 1 :(得分:0)

如果您在元素存在之前调用它,它将无效。

你可以:

  1. 在元素
  2. 之后插入脚本
  3. 在页面准备就绪时执行脚本
  4. 请参阅this example