0

要素のリストを繰り返し処理し、それらをリンク タグでラップしようとしています。ただし、私のリストは希望とは異なって表示されます。

これは次のようになります: http://jsfiddle.net/eMexU/

HTML

<div id="list" data-role="listview">
    <li><a href="http://www.google.com/">Item 1</a></li>
    <li><a href="http://www.google.com/">Item 2</a></li>
    <li><a href="http://www.google.com/">Item 3</a></li>
    <li><a href="http://www.google.com/">Item 4</a></li>
</div>

$.each と wrapInner() を使用すると、次のようになります: http://jsfiddle.net/zpFDa/1/

HTML

<div id="list" data-role="listview">
    <li>Item 1</li>
    <li>Item 2</li>
    <li>Item 3</li>
    <li>Item 4</li>
</div>

JS

$("#list li").each(function () {
    $(this).wrapInner('<a href="http://google.com/"></a>')
});
4

1 に答える 1

4

これを行う唯一の方法は、既存のものを新しいものに置き換えてから、スタイルの適用/マークアップの強化をli呼び出すことです。.listview('refresh')

デモ

$("#list li").each(function () {
  var text = $(this).text();
  $(this).replaceWith('<li><a href="http://google.com/">' + text + '</a></li>')
});

$('#list').listview('refresh');
于 2013-07-18T17:21:14.857 に答える