我已成功从JSON响应中创建了一个列表...
function loadList() {
$.getJSON("http://www.JSONURLDATA/TEST", function (Cust) {
var ul = $('<ul>').appendTo('#custList');
for (var i = 0; i < Cust.Customers.length; i++) {
ul.append($(document.createElement('li')).text('(' + Cust.Customers[i].Keycode + ') ' + Cust.Customers[i].Name));
console.log(Cust.Customers[i].Name);
}
})
}
是否可以在此循环中创建href部分?
答案 0 :(得分:0)
这样想:
您已经设置了动态元素的内容,如下所示:
(yourNewItem).text('(' + Cust.Customers[i].Keycode + ') ' + Cust.Customers[i].Name)
您还可以设置您想要的任何属性:
(yourNewItem).attr("attributeName", "value");
所以在你的情况下:
(yourNewItem).attr("href", "http://www.google.com");
是的,您可以直接将其粘贴到.text()
调用中,这些方法完全可以链接:)
编辑对<li>
元素没有意义。但重点是,您可以使用该方法在任何(再次,我认为)元素上设置任何(我认为。也许是一个罕见的例外)属性。
如果我没记错,您甚至可以使用该方法创建自己的属性。不是我建议你这样做;我只想解释这种方法的普遍性:)
答案 1 :(得分:0)
是的,这是可能的。这是一种方式:
ul.append(
$(document.createElement('li'))
.text(
$(document.createElement('a'))
.attr('href', 'whatever_you_like')
.html('(' + Cust.Customers[i].Keycode + ') ' + Cust.Customers[i].Name)
)
);
此代码在li
代码中添加了一个链接。
答案 2 :(得分:0)
而不是
ul.append($(document.createElement('li')).text('(' + Cust.Customers[i].Keycode + ') ' + Cust.Customers[i].Name));
待办事项
ul.append(
$("<li></li>").append(
$("<a></a>").attr("href","URL").text('(' + Cust.Customers[i].Keycode + ') ' + Cust.Customers[i].Name)
)
);