我想通过我所有的Delicious.com书签循环并在它们周围包裹一个链接......
这是我的测试网站: http://dev.thomasveit.com/json.html
$(document).ready(function(){
$.ajax({
url: "http://feeds.delicious.com/v2/json/tommyholiday",
dataType: "jsonp",
success: function(data){
var bookmarks = $.map(data, function(bookmark){
return {
title: bookmark.d,
link: bookmark.u
}
});
var html = "<ul>",
m;
for (i=0; i<bookmarks.length; i++){
m = bookmarks[i];
html += "<li><a href="+m.link+">"+m.title+"</a></li>";
}
html += "</ul>";
$("#delicious").html(html);
}
});
});
有趣的是,只有第三个链接被链接包裹......其他链接没有。
我做错了什么?
答案 0 :(得分:3)
a href
属性需要引用。
html += "<li><a href="+m.link+">"+m.title+"</a></li>";
应该是
html += "<li><a href='"+m.link+"'>"+m.title+"</a></li>";
答案 1 :(得分:0)
您未向href
属性添加“引号”。
例如:
<li><a href=http://www.designtnt.com/500-free-photoshop-patterns-your-web-designs/>500+ Must-Have Free Photoshop Patterns for Your Web Designs</a></li>
如果您查看该链接,则该网址以/
结尾并关闭<a>
标记。该文字随后出现在a
标记之后,忽略了最后一个</a>
。
在我看来,创建html标签的最佳方法是将DOM用于性能和错误。
var ul = document.createElement("ul");
// inside the for
var li = document.createElement("li");
var a_tag = document.createElement("a");
a_tag.setAttribute("href", m.link);
a_tag.appendChild(document.createTextNode(m.title));
li.appendChild(a_tag);
// add the li
ul.appendChild(li);
// end for
$("#delicious").html(ul);