2012-06-22 3 views
2

je veux creux en boucle tous mes Delicious.com marque-pages et enroulez un lien arround les ...href intérieur boucle javascript jquery

voici mon testsite: 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); 

      }      
     }); 
}); 

plaisamment le troisième le lien est enveloppé par un lien ... les autres pas.

qu'est-ce que je fais mal?

Répondre

3

a href attribut besoin de guillemets.

html += "<li><a href="+m.link+">"+m.title+"</a></li>"; 

devrait être

html += "<li><a href='"+m.link+"'>"+m.title+"</a></li>"; 
+0

aaaahh ..... qui a résolu le problème! Je vous remercie! –

+0

Il y a un problème dans votre lien, alors. Il ne devrait pas contenir d'espace. Ou est-ce que je manque quelque chose? –

+1

@dystroy Oui, mais lorsque vous vérifiez le ne doit pas s'il vous plaît. http://www.w3.org/TR/html-markup/syntax.html#syntax-attr-unquoted – xdazz

0

Vous n'avez pas ajouté des citations "à l'attribut href

Par exemple:.

<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> 

Si vous regardez ce lien, il L'URL se termine par / et ferme la balise <a>. Le texte co mes après la balise a et le dernier est ignoré. À mon avis, la meilleure façon de créer des balises html est d'utiliser le DOM pour les performances et les bogues.

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);