2015-08-05 2 views
0

HTML, как и выше, я хочу выбрать текст между двумя изображениями, есть ли все-таки сделать это?Javascript: select textnode

Некоторые предпосылки: Я пытаюсь отформатировать плохо написанный HTML, чтобы его можно было еще стилизовать. Их слишком много страниц для жесткого кодирования по одному, у них есть определенный шаблон, поэтому я пытаюсь написать функцию javascript, чтобы упростить всю процедуру. Текст между <br> на самом деле является описанием первого изображения, я хочу обернуть его <div>, поэтому я могу добавить к нему класс и стилизовать его. Но сначала мне нужно выбрать его, не так ли?

+0

Что вы пробовали? Кажется достаточно тривиальным. Также как создается текст? – Pogrindis

+0

@Pogrindis это тривиально .... даже не кажется, что он приложил все усилия в решении http://stackoverflow.com/questions/26897762/get-text-between-two-images –

ответ

0
<div> 
    some text 
    <img /> 
    <br> 
    <span>text I want to select <span> 
    <br> 
    <img /> 
    some text 
</div> 

Добавить тег для этого и получить «div span». Если у вас больше разброса в «div». добавьте для них id или класс. ..

1

решения Простейшего с помощью основного JQuery функции:

$ ('IMG') nextUntil ('IMG') DoSomething();

Jonathan Snook указал мне на 1.4 функции JQuery, которая решает эту проблему:

Заканчивать это родственные функции:

Вдохновляют:

Для другой контрольной проверки этого один: How to select all content between two tags in jQuery

+0

Функция трассировки jQuery кажется пропускать текстовые поля. Тем не менее, следующий синтаксис vanilla javascript может выполнить эту работу. Есть ли что-нибудь в jQuery, которое может сделать то же самое с .nextSibling? – shenkwen