2012-01-13 7 views
0

を適用します。それぞれが、クリックされたときに、divの中に隠されたテキストのspanを示しています。政府午前3時15分ORホワイトハウス午後03時27 OR立法午前1時38分(オーバーがあります:彼らは)セクション番号
3)章タイトル
2)チェック!その後、私は長い記事点在div要素の束を持っている別のクラス

1の最大ポイント数

などを作っています90章)。 jQueryのを使用して

、私はそれは、最初のを除いて一人一人に特定のクラスを適用しない場合は、章のタイトルは、行で2回以上発生したかどうかを確認しようとしています。

理由ビーイング:

例:これらの章のタイトルを参照するときに、私が先頭にアイコンを配置した(icon)Whitehouse 29:8が、その章のタイトルならば、私は、アイコンを持っているすべての単一の章のタイトルを望んでいません別のチャプタータイトルが参照される前に2回以上参照されている場合は、2番目の3番目の(など)にアイコンがないようにします。

他のチャプタータイトルが参照される前にチャプタータイトルが2回以上参照されているかどうかを確認する方法について知っていますか?

例:

彼は(icon)Whitehouse 3:15に多くの不正の話を聞いたが、社長は山whitehouse 4:2whitehouse 4:9と言えばされませんでした。彼は、彼らが(icon)congress 19:4を開始する準備ができていた見たとき、彼は(icon)legislation 9:41「このセッションのすべてを歓迎する」と述べ、その後、顔にとlegislation 3:8

答えて

1

カプセル化スパンタグのセット内のすべての参照(またはその他の容器)を首相に叩か共通の属性ですが、この場合はspan.refとしましょう。

私は次のjsFiddleとしての基本的なバージョンを持っています。各章のタイトルのために必要な

HTMLは次の形式を必要とします。

<span class="ref"> 
    <img src="..." /> 
    <span class="ref-title">Washington</span> 
    1:23 
</span> 

次に、ページを更新するには、次のjQueryを使用します。

$(document).ready(function(){ 

    // var to store the previous reference title 
    var previousRefTitle = ''; 

    // cycle through each reference on the page 
    $('.ref').each(function(){ 

     // if chapter title is the same as the previous reference 
     if ($(this).children('.ref-title').text() == previousRefTitle) 
     { 
      // change the class 
      if ($(this).hasClass('ref')) 
      { 
       $(this).removeClass('ref'); 
       $(this).addClass('ref-following');  
      } 
     } 

     // if chapter title is new compared to the previous reference 
     else 
     { 
      // update var for next iteration 
      previousRefTitle = $(this).children('.ref-title').text(); 
     } 
    }); 

}); 
+0

しかし、ページの私のそのだけではなく、最初の参照アイコンが添付されている必要があります。最初の章のタイトルは、私の質問の一番下の例を参照してください。クラスを追加するというあなたの考えは素晴らしいと思います。あなたのコードは、ページの最初のものの後のすべての参照にchild-refクラスを追加します。 –

+0

@ android.nick - ああ今、私はそれを残念、参照してください。私はあなたが前に説明してきたと私はいつも、私は現在の反復と比較できるように、前の反復の状態を保存する(ループスコープ外)VARを使用して、それを実装するもののように多くのことをやりました。私は答えのコードを更新し、デモを提供しました。 –

+0

美しい、ありがとう。 –

関連する問題