2016-05-14 46 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