gpt4 book ai didi

javascript - 使用 jQuery xml 响应构建 html 表

转载 作者:行者123 更新时间:2023-11-29 20:24:58 24 4
gpt4 key购买 nike

我正在尝试循环访问来自 jQuery Ajax 请求的响应(以 XML 形式返回)。

根据该响应,我正在构建一个包含 3 列的 HTML 表格(行数不受限制)。一旦找到第 4 个 XML 节点/“公司”,它应该在表中开始一个新行。非常感谢任何有关 JS 的帮助以确定何时应添加新行。谢谢!

JS 示例:

/* jQuery Ajax Call here */

success: function(xml){
var trow = $("<tr>");
$(xml).find("Company").each(function(index){
var cellData = "<td width=\"33%\" valign=\"top\" ><div class=\"container\">"+
"<div class=\"item\"><a href=\"#\" title=\"\" target=\"\">"+ $(this).attr("Name")+ "</a></div>"+
"<div class=\"description\">"+ $(this).attr("Description") + "</div></div></div></td>";
$(cellData).appendTo(trow);
});
trow.appendTo('#tbl');
}
});

});

来自 Web 服务的示例 XML 响应:

<Companies>
<Company ID="6" Name="Company name 1" Description="Lorem ipsum" />
<Company ID="22" Name="Company name 2" Description="Lorem ipsum" />
<Company ID="28" Name="Company name 3" Description="Lorem ipsum" />
<Company ID="31" Name="Company name 4" Description="Lorem ipsum" />
</Companies>

最佳答案

模运算符非常适合这样的事情。基本上它将一个数字除以另一个数字并返回余数。所以 1 % 4 = 14 % 4 = 08 % 4 = 0:

success: function(xml){
var trow = $("<tr>"), table = $("#tbl");
$(xml).find("Company").each(function(index){
var cellData = "<td width=\"33%\" valign=\"top\" ><div class=\"container\">"+
"<div class=\"item\"><a href=\"#\" title=\"\" target=\"\">"+
$(this).attr("Name")+ "</a></div>" +
"<div class=\"description\">" + $(this).attr("Description") +
"</div></div></div></td>";
$(cellData).appendTo(trow);
if( (index + 1) % 4 == 0) {
trow.appendTo(table);
trow = $("<tr>");
}

});
if(trow.is(':not(:empty)')) trow.appendTo(table);
}
});
});

我还将 $("#tbl") 存储在一个变量中以减少查找次数。

关于javascript - 使用 jQuery xml 响应构建 html 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1892435/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com