Сопоставление всего между двумя HTML-элементами с помощью jQuery
У меня пусто <span>
элементы, которые могут быть где угодно в DOM. У них есть определенный класс и идентификатор, как <span class="start" id="V.64"/>
а также <span class="end" id="V.64.end"/>
, Таким образом, я могу определить начальную точку и конечную точку через идентификатор. Теперь я хочу выделить все, что находится между этими двумя <span>
Элементы. Есть ли способ сделать это с помощью jQuery?
Пример 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. Не только братья и сестры! Большое спасибо за ваши ответы!
1 ответ
Да, это возможно с помощью .nextUntil()
например
var everythingInBetween = $('#V\\.64.start').nextUntil('#V\\.64.end').andSelf();
Обратите внимание, что вам придется убежать от "." в id-селекторе.