我正在编写一个ajax网页(使用IE 8),需要从返回的数据中动态地在 jquery中构建一个列表.稍后,我将把列表转换为jquery accordian. 我也在尝试学习使用这些jquery函数和链接的正确方法.我只是一
我也在尝试学习使用这些jquery函数和链接的正确方法.我只是一个jquery NOOB,但了解javascript.我在jquery dom函数上发现了一篇很好的文章:http://www.packtpub.com/article/jquery-1.4-dom-insertion-methods
我想尽可能多地使用jquery dom函数和jquery链接添加,而不使用文本来使用html源代码.我想主要使用.wrap(),. appendto(),. attr(),. text()和.parent().如果有一个更有效的方式,请让我知道 – 我不认为
“.attr(”class“,”CC_CLASS“).是添加类的最佳方法.
给出html代码:
< div id =“outputdiv”>< / div>
使用Jquery dom函数将其更改为以下内容:
<div id="outputdiv"> <ul id="JJ_ID"> <li> AAA_text </li> <li id="BB_ID"> BBB_text </li> <li class="CC_CLASS"> CCC_text </li> <li id="DD_ID">DDD_text<br/> <ol id="EE_ID"> <li> FFF_text </li> <li id="GG_ID"> GGG_text </li> <li class="HH_CLASS"> HHH_text </li> </ol> </li> </ul> </div>
我发现了一些代码(忽略了文本中的空格).
var aObj = $('<li></li>').text("AAA_text") var bObj = $('<li></li>').attr("id", "BB_ID").text("BBB_text"); var cObj = $('<li></li>').attr("class", "CC_CLASS").text("CCC_text"); var dObj = $('<li></li>').attr("id", "DD_ID").text("DDD_text"); var fObj = $('<li></li>').text("FFF_text"); var gObj = $('<li></li>').attr("id", "GG_ID").text("GGG_text"); var hObj = $('<li></li>').attr("class", "HH_CLASS").text("HHH_text");
不知何故将(fObj gObj hObj)添加到eObj中?
var eObj = `*something*`.attr("id", "EE_ID").wrap(`*something*`);
不知何故将(aObj bObj cObj dObj eObj)添加到jObj中?
var jObj = `*something*`.attr("id", "JJ_ID").wrap(`*something*`); jObj.appendTo("#xmlOutputId").append方法返回您调用它的相同容器对象 – 利用它来愉快地链接方法:
var inner_list = $('<ol/>', {id: "EE_ID" }) .append( $('<li/>', {text: "FFF_text" }) .append( $('<li/>', {id: "GG_ID", text: "GGG_text" }) .append( $('<li/>', {"class": "HH_CLASS", text: "HHH_text" }); var outer_list = $('<ul/>', {id: "JJ_ID" }) .append( $('<li/>', {text: "AAA_text" }) .append( $('<li/>', {id: "BB_ID", text: "BBB_text" }) .append( $('<li/>', {"class": "CC_CLASS", text: "CCC_text" }) .append( $('<li/>', {id: "DD_ID", text: "DDD_text"}) .append(inner_list) ); outer_list.appendTo('#xmlOutputId');
你实际上可以在没有变量的单一陈述中完成整个事情,但在我看来,这将变得太丑陋了.