2010-08-18 5 views
1

J'essaie d'utiliser la fonction appendTo de jQuery pour ajouter des données à certains html que je charge à partir d'un autre fichier.
Pourquoi pas ce travail:jquery appendTo() question

$('#pop-up').load('html_elements/news.html #newsItem', function() { 
    $(newsItems[$(event.target).attr('href')].title).appendTo($(this).find('.title')); 
    gameUi.showPopUp(); 
    gameUi.setUpPopUp(); 
}); 

et par "ce" je veux dire ceci:

$(newsItems[$(event.target).attr('href')].title).appendTo($(this).find('.title')); 

toutes les pièces individuelles travaillent ... Bulletins d'informations [...] renvoie une chaîne c'est le titre. $ (this) .find ('. title')) renvoie l'élément que j'essaie de cibler, mais lorsque je le teste, rien n'est ajouté à la balise h2.

Je ne suis en aucun cas un javascript/jquery pro donc toutes les idées sont les bienvenues. Merci!

+0

D'où vient l'événement? – Anurag

+0

vient la fonction que ce code est défini. Vous cliquez sur une ancre et l'événement click se déclenche et un tas de choses se produisent, y compris ce qui est en haut, désolé que ce n'était pas clair. – JoeM05

Répondre

2

Je pense que ce que vous êtes après ici est .append() au lieu de .appendTo(), comme ceci:

$(this).find('.title').append(newsItems[$(event.target).attr('href')].title); 

Si vous annexant contenu comme une chaîne .append() utiliser, sinon il essaie d'utiliser votre newsItems[x].title comme sélecteur et ne trouvant aucun élément pour l'ajouter.

+0

ouais, tu m'as battu pour répondre à ma propre question. – JoeM05

0

J'ai trouvé que juste en utilisant append append fait l'astuce ... Je dois lire sur une documentation je suppose.

$(this).find('.title').append(newsItems[$(event.target).attr('href')].title);