2012-04-24 13 views
0

私はhtml CODE要素のスタイルを変更しようとしていましたが、その内容の上に順序付きリストを追加し、次に新しい行の前にLIとPを付け加えました。それらの終了タグは各行の最後に追加されます。これは、単に動作しませんJquery - 配列内の各行の前にhtmlを追加する

 $("#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>"); 
     }); 

}); 

は、これは私が持っているものです。私は間違いがない、何が間違っているのか分からない。 これを修正する方法を知っている人はいますか?

ありがとうございます!

+0

を私が言及している必要があります。これは、スパンの追加の程度や内容の外側のOLに動作しますが、LIおよびPは追加されません。 しかし、私は各機能の中に "警告(これ)"を置くと、それは完全に動作します。 – Alurict

答えて

0

この機能は各機能で使用できません。

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

jQuery.each(コレクション、コールバック(indexInArray、valueOfElement))

コレクションにわたって反復するオブジェクトまたは配列。

コールバック(indexInArray、valueOfElement)すべてのオブジェクトで実行される の関数です。

代わりにこれを試してみてください:

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

それは動作します!しかし、今、私のOLとスパンは追加されていません - これは "$(this).html(html.join( ''));ライン。 – Alurict

+0

気にしない、私はそれを修正しました - 愚かな間違い、私が使用していた行はvar oldcontentですべてを置き換えていたので、新しいvarを作りました。ありがとう! – Alurict

関連する問題