11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

J'aimerai pouvoir séparer mon template html de mon fichier ajax.
Histoire de pouvoir maintenir le HTML plus facilement.
Pour cela après ma requête AJAX, je suis un peu gêné, je récupère mon objet JSON.
Je sais le manipuler en mettant les infos que je veux ainsi que du html dans une variable que j'envoi dans le DOM ensuite.

Comment faire pour que le HTML ne soit pas injecté dans la variable directement depuis mon fichier javascript et donc de la sorte :
var temp = "<div>"+data[1].id+"</div>; (par exemple)
mais plutôt avoir un fichier html contenant :
<div>
</div>

et pouvoir injecter le data[1].id entre ces div ?
Merci d'avance, là je sèche vraiment =/
salut

je dirai que apparemment tu sais utiliser le dom...

je me demande donc pourquoi tu ne travaille pas en id sur tes div ??

html

<div id="insert1"></div>


js
$("#insert1").append(data[1].id);


ou d'autres choses dans le même genre
pas bête du tout le placement par id !
Je cherchais une solution ailleurs en fait et je n'ai pas penser à cela.

Je vais regarder ton lien aussi Seyu.
Je pense qu'avec ces éléments de réponses je devrai m'en sortir, merci beaucoup messieurs. Smiley smile
Administrateur
Seyu a écrit :
Coucou,
Je te conseil cette doc, à gauche tu peux voir toute la liste des manipulations, pour choisir là où tu vas placer ton résultat : Documentation Jquery en français

Cette doc est encore sûrement très bien concernant la manipulation du DOM mais attention pour les évènements ; avec jQuery 1.7 .on() a déprécié pas mal de choses et il faut se référer à la doc officielle de jQuery en anglais, les 2 docs en français n'en parlent apparemment pas.
optez moi d'un doute :o
comme je veux récupérer des données d'un json et récupérer le template d'un fichier html.
Je fais :

1 - requête XMLHttpRequest dans laquelle je récupère les infos du fichier JSON
2 - à l'intérieur de cette requête je fais une requête XMLHttpRequest dans laquelle je récupère le contenu du fichier HTML, que je place dans la div que je souhaite.
3 - à l'intérieur que la première requête et à la suite de la deuxième requête, je rempli mes div avec du js, dans le style : $("#insert1").append(data[1].id);

j'ai vu juste ?