如果jquery中不存在表,则按行数,行高和警报处理表

时间:2011-07-05 03:18:57

标签: jquery

我现在有这个代码:

var table = $(source).children('table').map(function() {
if (this.rows.length >= 4) {
    return $(this).outerHTML();
} else {
    return null;
}
}).get();

这将按行数获取表格,但是如何按行高(如果高度<100 px)获取表格,如果数组中没有表格(如果数组为空),也会发出警告。“ / p>

2 个答案:

答案 0 :(得分:0)

不确定第一个问题是什么意思,但警告:

if($(source).children('table').length===0){
   alert("no tables!");
}

答案 1 :(得分:0)

您可以使用.is() method,如下所示:

var table = $(source).children('table').map(function() {
if ($(this).find("tr").is(function(){ $(this).height() < 100 }) {
    return $(this).outerHTML();
} else {
    return null;
}
}).get();
//Now check size:
if(table.length == 0) alert("There are no tables");

我们对.is()做了什么?我们正在搜索至少一个的子tr的高度是否低于100,如果未满足此条件,则忽略该表。

希望这会有所帮助。干杯

编辑满足您的新要求:

  var table = $(source).children('table').map(function() {
    if (!$(this).find("tr").is(function(){ $(this).height() >= 100 } &&
         $(this).find("tr").size() > 4  ) {
        return $(this).outerHTML();
    } else {
        return null;
    }
  }).get();
  //Now check size:
  if(table.length == 0) alert("There are no tables");