2013-07-18 74 views
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> 

這裏是什麼樣子,當我用$。每次和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>') 
}); 
+0

你不能這樣做而不必爲了更換'li'得到ListView的風格。 http://jsfiddle.net/Palestinian/KtBcU/ – Omar

+0

「listview」小部件中的某些內容不能正常工作。我想你應該報告它。 – DevlshOne

+0

這是你想要的嗎? – Omar

回答

4

做到這一點的唯一方法,是用新的替換現有li,然後調用.listview('refresh')申請樣式/增強標記。

Demo

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

$('#list').listview('refresh'); 
相關問題