Разделить HTML на div с помощью Javascript / JQuery на основе тэгов HR - PullRequest
3 голосов
/ 12 ноября 2011

Я хочу разделить статьи (= HTML-контент), которые я получаю от веб-службы, на разные DIV на основе тега HR.

Я объясняю на примере, что я получаю от службы:

<p>This is an article bla bla</p> <hr/> <p>this is the next page of the article blabla ...</p>

Хочу сделать, основываясь на HR-теге:

<div><p>This is an article bla bla</p></div>
<div><p>this is the next page of the article blabla ...</p></div>

Я пробовал разные мысли, но это не работает. Как я могу сделать это с Javascript или JQuery (или с другим методом; -))?

Ответы [ 2 ]

6 голосов
/ 12 ноября 2011

Используйте split для создания и массива и циклического прохождения для создания div.

var html = "<p>This is an article bla bla</p> <hr/> <p>this is the next page of the article blabla ...</p>";


$(html.split('<hr/>')).each(function(){
    $('#test').append('<div>'+this+'</div>')
})

Демо

1 голос
/ 12 ноября 2011

Попробуйте -

var html = '<p>This is an article bla bla</p> <hr/> <p>this is the next page of the article blabla ...</p>'
var htmlarr = html.split('<hr/>');
html = html.replace(/<hr\/>/g,'');
$('body').append(html);

Это просто удалит все <hr/> с, затем добавит оставшуюся контнет на страницу. Я думаю, что достигнет того, что вы хотите, без выполнения split. Вы могли бы сделать раскол, как это -

var htmlarr = html.split('<hr/>');

Что даст вам массив, содержащий два бита HTML, которые вы перечислите в своем вопросе. Вы можете добавить это на свою страницу, используя -

$.each(htmlarr,function (index,value) {
   $('body').append(value); 
});

Демо - http://jsfiddle.net/cCR34/2

...