通过br标记拆分行并添加span标记

时间:2014-02-17 14:31:22

标签: jquery

在父母为.cycle-slide的幻灯片中,我正努力让以下段落文字示例从此处开始

<p>First line<br>leads to second<br>and then a third</p>

使用javascript。我试图将每个p拆分为<br>,然后将文字换成<span>

<p><span>First line</span><br><span>leads to second</span><br><span>and then a third</span></p>

我得到了这个,但它只显示在console.log()

jQuery('document').ready(function(){
    jQuery.each( jQuery( ".cycle-slide" ), function() {
        var data = jQuery(this).find('p').html().split('<br>');
        jQuery.each(data, function() {
            console.log(data);
            jQuery(data).wrap('<span>');
        });
    });
});

2 个答案:

答案 0 :(得分:4)

假设p元素只包含textNodebr元素,而不是拆分html内容并重置修改后的标记,您可以使用{{1}用于选择文本childNodes的方法和用于包装匹配节点的.filter()方法。

.wrap()

http://jsfiddle.net/3Ky7S/

答案 1 :(得分:0)

您应该更新元素的文字..

     jQuery('document').ready(function(){
         jQuery.each( jQuery( ".cycle-slide" ), function() {
             var data = jQuery(this).find('p').html().split('<br>');
             jQuery.each(data, function() {
                 console.log(data);
                 this.text(jQuery(data).wrap('<span>'));
             });
         });
     });