2017-08-11 43 views
0

我有空的<span>元素可以在DOM中的任何位置。它們具有特定的類別ID類似<span class="start" id="V.64"/><span class="end" id="V.64.end"/>。所以我可以通過ID來確定起點和終點。我現在想要突出顯示這兩個元素之間的所有內容。有沒有辦法用jQuery來做到這一點?使用jQuery匹配兩個HTML元素之間的所有內容

HTML示例:

<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> 

注意,開始和結束的跨度可以在任何地方DOM。不只是兄弟姐妹!非常感謝你的回答!

+0

我們必須**包裹** '和''在另一個''中給他們背景。你需要嗎?? – weBBer

+0

您的HTML代碼不符合W3C標準,您不希望像輸入文件那樣使用開頭「」。去掉你的DOM結構,可能會向你希望一次突出顯示的元素添加類。 –

+0

您無法在DOM中包裝不同層級中的任何內容。我想爲需要突出顯示的元素添加類,但我必須找出這些元素是哪些元素,這是核心問題。但我無法更改DOM結構。 –

回答

0

是這是可能的使用.nextUntil()

即G。請注意,您將不得不逃離「。」在id選擇器中。

相關問題