[英]How to show json data into html <ul><li></li></ul> tag using jquery in asp.net
[英]How to prepend HTML `<li>` to `<ul>` using jQuery?
我需要在jQuery中使用for-loop
將<li>
元素附加到多個<ul>
。
代碼片段:
JQuery的:
var lists = $('ul.menu');
for(var i=0; i<lists.length; i++){
var lnk = "<li>All</li>";
lnk = $('<div />').html(lnk).text();
lists[i].prepend(lnk);
}
HTML:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="menu">
<li>Graphics</li>
<li>Videos</li>
<li>Programming</li>
</ul>
<hr>
<ul class="menu">
<li>Our Story</li>
<li>About Us</li>
</ul>
根據代碼<li>
插入正確的文本,但格式為純文本而不是<li>
。
我究竟做錯了什么? 如何糾正我的錯誤?
比TJ Crowder的解決方案更多的jQuery-ish替代品......
$('ul.menu').each(function() { $(this).prepend("<li>All</li>"); })
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <ul class="menu"> <li>Graphics</li> <li>Videos</li> <li>Programming</li> </ul> <hr> <ul class="menu"> <li>Our Story</li> <li>About Us</li> </ul>
您正在調用原始DOM prepend
(僅存在於現代瀏覽器中),因為lists[i]
訪問原始ul
元素。 你也只是把你想要的內容添加到文本中,而不是包含任何li
標記。 你可能想:
調用jQuery的prepend
,然后
將li
包含在您預先添加的內容中
例:
var lists = $('ul.menu'); for(var i=0; i<lists.length; i++){ var lnk = "<li>All</li>"; lists.eq(i).prepend(lnk); }
/* No CSS */
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <ul class="menu"> <li>Graphics</li> <li>Videos</li> <li>Programming</li> </ul> <hr> <ul class="menu"> <li>Our Story</li> <li>About Us</li> </ul>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.