2017-08-11 5 views
0

DOMのどこにでも置くことができる空の<span>要素があります。それらは具体的なクラスidのような<span class="start" id="V.64"/><span class="end" id="V.64.end"/>です。だから私は開始点と終点をidで識別することができます。私は今これらの2つの要素の間にあるすべての要素を強調したいと考えています。<span>要素。 jQueryでこれを行う方法はありますか?2つのHTML要素間のすべてをjQueryで照合します

例HTML:開始と終了のスパンはどこにでもDOMでできること

<html> 
<head> 
    <title></title> 
</head> 
<body> 
    <p class="upper-case"> 
     <b>In Matutinis</b> 
     <span class="ab"> 
      <b data-toggle="tooltip">INV</b> 
      <i class="incipit">Rex noster</i>. <span class="phenomena">*</span> 
     </span> 
     <span class="ab"> 
      <span class="start" id="V.112"/> 
     </span> 
     <span class="ab">In Secundo Nocturno <b data-toggle="tooltip" data-original-title="" 
       title="">AN</b> 
      <i class="incipit">Nox praecessit</i>. <span class="end" id="V.112.end"/><b 
       data-toggle="tooltip" data-original-title="" title="">RP</b> 
      <i class="incipit">Civitas Hierusalem</i>. 
       <i class="incipit" 
       >Sicut mater</i>. <b data-toggle="tooltip" data-original-title="" title="" 
       >RV</b> 
      <i class="incipit">Deus a Libano veniet</i>. <span class="start" id="V.114"/> 
     </span> 
     <span class="ab">In Tertio Nocturno 
       <span class="end" id="V.114.end"/> 
      <b data-toggle="tooltip">EV</b> 
      <i class="incipit">Erunt signa in sole</i>. <b data-toggle="tooltip">RP</b> 
     </span> 
    </p> 
</body> 

注意。兄弟だけじゃない!あなたの答えをありがとう!

+0

」と「を別の ''で置き換え、それらに背景を与えてください。それはあなたが必要なのですか? – weBBer

+0

あなたのHTMLコードはW3C準拠ではありません。あなたが入力と同様に ' 'を開くことは望ましくありません。あなたのDOM構造をもう一度考え直してください。一度に強調表示されると思われる要素にクラスを追加することもできます。 –

+0

DOMの異なる階層にあるものはすべてラップすることはできません。また、強調する必要がある要素にクラスを追加したいが、どの要素が重要かを知る必要があり、それがコアな問題です。私はDOM構造を変更することはできません。 –

答えて

0

はいすなわち.nextUntil()

Eを使用して可能です。 g。

var everythingInBetween = $('#V\\.64.start').nextUntil('#V\\.64.end').andSelf(); 

「。」をエスケープする必要があります。 idセレクタで

関連する問題