2016-05-14 53 views
0

我有一段代码工作正常,但我想改进它来检测表的长度,并给出一个基于它的描述。使用jquery检测表的长度的具体描述

这是一个基本的产品目录,其中我使用wordpress条目来显示产品的描述 。大多数条目包含一个表格,有些则不包含。如果存在表格,则会创建表格中特定点的链接,并在点击时访问者到达那里。当NO表被检测到时,给出对该效应的描述。

我想使细化是添加一个额外的条件,其中如果该表的长度,让说,只有4行或更少存在对于条件如

elTitulo.after("<a href='#tablesp' class='speclink'>Ver BREVE Tabla de Especificaciones</a> "); (BREVE = BRIEF) 

不同的描述我不确定如何整合那部分。 它是否需要现有条件内的条件?还是全新的状况?

<script> 
    jQuery(document).ready(function($) { 
     var elTitulo = $(".entry-title"); 
     $("tbody").before("<div id='tablesp'></div>"); 
     if ($('table').length) { 
      elTitulo.after("<a href='#tablesp' class='speclink'>Ver Tabla de Especificaciones</a> "); 
     } else { 
      elTitulo.after("<p class='speclink'>(No hay tabla especial de especificaciones. Breve descripción disponible)</p> "); 
     } 
    }); 
</script> 

回答

1

这应该可以工作,但是你的代码假设页面中只有一个表。此外,增加一个div洞察你的tbody也不是一个好主意。

jQuery(document).ready(function($) { 
    var elTitulo = $(".entry-title"); 
    $("tbody").before("<div id='tablesp'></div>"); 
    if ($('table').length) { 

     if($('table tbody tr').length < 4){ 
     // There are less then 4 rows (not including 4) 
     elTitulo.after("<a href='#tablesp' class='speclink'>Ver BREVE Tabla de Especificaciones</a> "); 
     } else { 
     elTitulo.after("<a href='#tablesp' class='speclink'>Ver Tabla de Especificaciones</a> "); 
     } 

    } else { 
     elTitulo.after("<p class='speclink'>(No hay tabla especial de especificaciones. Breve descripción disponible)</p> "); 
    } 
}); 
+0

谢谢乌兹别克翁。是的,很好的假设。每个条目只有一个表格。关于表格内的div,那是因为我尝试了针对'table'标记的before()方法,但它不起作用。不知道为什么。 – Agustin

+0

我也修复了表格情况下的** div **。我认为这只是混合“与”的语法问题,谢谢! – Agustin