2016-08-16 4 views
0

мне нужно, чтобы очистить веб-сайт, который выглядит следующим образом:JQuery - получить все HTML между некоторыми тегами

<p></p> 

<!-- I want to get HTML from here... --> 

<h2> </h2> 
<table> </table> 

<h2> </h2> 
<table> </table> 

<h2> </h2> 
<table> </table> 

<!-- to here --> 

<div> </div> 

<h2> </h2> 
<table> </table> 

Как аннотированный выше, я хочу, чтобы получить все HTML между <p> и <div>. Я не хочу <h2> и <table> ниже div.

Есть ли хороший способ очистить эти части? Если это возможно, я хочу избежать привязки дочернего индекса.

Благодаря

+0

Вы можете обернуть все HTML-теги, которые вы хотите лома в одном DIV, а затем легко ломом. –

+0

@HarshSanghani К сожалению, я не могу редактировать HTML на этом сайте – hrsetyono

+0

решил вашу проблему, используя другие ответы? –

ответ

4

$('p').nextUntil('div').addClass('add')
.add{color:red}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<p></p> 
 

 
<!-- I want to get HTML from here... --> 
 

 
<h2> I want to get HTML from here...</h2> 
 
<table><tr><td>I want to get HTML from here...</td></tr> </table> 
 

 
<h2> I want to get HTML from here...</h2> 
 
<table><tr><td>I want to get HTML from here...</td></tr> </table> 
 

 
<h2> I want to get HTML from here...</h2> 
 
<table><tr><td>I want to get HTML from here...</td></tr> </table> 
 

 
<!-- to here --> 
 

 
<div> </div> 
 

 
<h2> </h2> 
 
<table> </table>

Применение .nextUntil()

Получить все последующих братьев каждого элемента до, но не включая элемент согласованный с помощью селектора, DOM узла, или JQuery объект прошел.

+0

Nice and smart work –

+1

Ничего, никогда не знал, что эта функция существует в jQuery – hrsetyono

3

Используйте .nextUntil(), чтобы получить следующий элемент от конкретного элемента к любому конкретному элементу.

console.log($("p:first").nextUntil("div"))
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<p></p> 
 

 
<!-- I want to get HTML from here... --> 
 

 
<h2> </h2> 
 
<table> </table> 
 

 
<h2> </h2> 
 
<table> </table> 
 

 
<h2> </h2> 
 
<table> </table> 
 

 
<!-- to here --> 
 

 
<div> </div> 
 

 
<h2> </h2> 
 
<table> </table>