2016-05-14 8 views
0

コードが正常に機能していますが、テーブルの長さを検出してそれに基づいて説明を加えたいと思います。具体的な説明のためにJqueryを使用して表の長さを検出する

これは基本的な製品カタログです。ここでは、ワードプレスのエントリを使って という製品の説明を表示しています。ほとんどのエントリはテーブルを含んでいますが、いくつかはテーブルを含んでいませんテーブルが存在する場合は、テーブル内の特定のポイントへのリンクが作成され、クリックされたときに訪問者がそこに移動します。 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

これはうまくいくはずですが、コードではページ内に1つのテーブルしか存在しないことを前提としています。また、tbodyの洞察をdiv追加することも良い考えではありません。

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

ありがとうございました。はい、良い仮定。エントリごとに1つのテーブルしかありません。テーブル内のdivについては、 'table'タグを対象としたbefore()メソッドを試してみたので動作しませんでした。理由は分かりません。 – Agustin

+0

私はテーブルの状況の中で** div **を修正しました。私はそれが "with"を混ぜる文法の問題だと思う。ありがとう! – Agustin

関連する問題