Jquery - 在数组中的每个新行之前添加html

时间:2012-04-24 00:53:34

标签: jquery html split append newline

我一直在尝试通过在其内容之上添加有序列表来设置html CODE元素的样式,然后在每个新行之前添加LI和P,并将其结束标记添加到每行的末尾。

这就是我所拥有的:

     $("#mydiv code").each(function(){
        var oldcontent = $(this).html();
        $(this).html("<span class='olnumbers'></span><ol class='code'>" + oldcontent + "</ol>");
        var lines = oldcontent.split(/[\n\r]/g);
        $.each(lines, function(e){
                $(this).html("<li><p>" + lines + "</p></li>");
        });

 });

这根本行不通。我没有错,我不知道有什么不对。 有人知道如何解决这个问题吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

你不能在每个功能中使用它。

http://api.jquery.com/jQuery.each/

  

jQuery.each(集合,回调(indexInArray,valueOfElement))

     

collection要迭代的对象或数组。

     

回调(indexInArray,valueOfElement)将成为的函数   在每个物体上执行。

请改为尝试:

var html = [];
$.each(lines, function(i, val){
                html.push("<li><p>" + val + "</p></li>");
        });
$(this).html(html.join(''));