:今ah htmlタグ内の特定のコンテンツをラップするためにwrapInner()を使用する方法は?私はこのようなhtmlコード持っている
<ul class="table">
<li>Height: 70cm</li>
<li>Width: 100cm</li>
<li>Depth: 400cm</li>
<li>Color: yellow</li>
</ul>
を、私はそれが(中にあるものをスパンタグを挿入し、文字列は常にありますのでご注意「:」):次のようになりたいと思い
<ul class="table">
<li><span class="name">Height:</span> <span class="value">70cm</span></li>
<li><span class="name">Width:</span> <span class="value">100cm</span></li>
<li><span class="name">Depth:</span> <span class="value">400cm</span></li>
<li><span class="name">Color:</span> <span class="value">yellow</span></li>
</ul>
私が何かしようとしました:
$('ul.table li').html().replace('<li>', '<li><span class=name>');
$('ul.table li').html().replace(':', ':</span><span class=value>');
$('ul.table li').html().replace('</li>', ':</span></li>');
をしかし、それは動作しませんでした。これはjQueryで可能ですか?たとえば、wrapInner()や他の同様のメソッドを使用していますか?
EDIT:
だから、サイムVIDASが提供するソリューションは、働いていた:あなたが確認する必要がありhttp://jsfiddle.net/simevidas/gyqCh/
:
$('li', '.table').html(function (i, html) {
html = html.split(' ');
return '<span class="name">' + html[0] + '</span> <span class="value">' + html[1] + '</span>';
});
ライブデモ:
$('li', '.table').html(function (i, html) {
html = html.split(' ');
return '<span class="name">' + html[0] + '</span> <span class="value">' + html[1] + '</span>';
});
この同じ解決方法に進んでいました。私はまだいくつのjQueryメソッドがDOMを操作するための引数として関数を受け入れるかに驚いています。 – Blazemonger
@ mblase75 '.data()'は '-.- 'ではありません... –
ありがとう、それはトリックでした;) – Irminsul