10
votes

Insérer HTML à l'aide de jQuery .html ()

Je veux insérer un gros morceau de HTML dans un . J'utilise cette méthode: xxx

mais cela ne fonctionne pas. Je suis un noob, il y a beaucoup de citations et ' dans le chunk HTML qui semble la casser. Quelle est la méthode correcte pour faire cela?


3 commentaires

Veuillez afficher le code exact de la commande html () et le HTML que vous injectez dans.


Où est votre HTML? Peut-être parfois mal dans les données HTML et devez vérifier.


Où sont votre lot_of_html_code à venir? Peut-être que vous pourriez vous échapper avec votre script de serveur.


7 Réponses :


0
votes

Vous devriez probablement créer vos éléments avec jQuery, plutôt que dans une grande chaîne. Vous n'obtenez aucune certitude de la correction DOM si vous utilisez simplement une grosse chaîne et qu'il est presque impossible de déboguer ou de modifier.

Ceci est similaire au bâtiment XML à la main. C'est juste pas la façon préférée de le faire.


0 commentaires

2
votes

Ce que je ferais, c'est de mettre tout ce HTML dans un DIV selon:

Beaucoup de HTML ici Ensuite, quand est-ce que cela: xxx

quel pourrait être le problème est des pauses de ligne. Si vous avez une chaîne (ci-jointe dans "" ou ""), vous trouverez que les pauses de la ligne "briseront" votre code ... vous devrez donc mettre tout le HTML sur une ligne.


0 commentaires

11
votes

Je suggérerais d'unifier le HTML dans une chaîne ... comme. xxx

De cette façon, vous pouvez voir où votre HTML décompose et ajoute beaucoup de lisibilité à JavaScript créé. Contenu.

aussi ...

S'il y a du contenu dans ce TD que vous souhaitez conserver, j'utiliserais le append () jQuery Méthode.


Le Documentation JQuery est votre meilleur ami!


0 commentaires

1
votes

Stefan a raison, mais pour répondre à votre question avec des citations, n'oubliez pas d'échapper à tout ce qui le casserait autrement, donc si vous avez html (" ... etc ... "); il doit être HTML (" > ... etc ... "); pour que les citations doubles ne soient pas lues littéralement.


0 commentaires

1
votes

Si des citations enfreignent votre code, essayez ceci ...

$ ("TD # Content"). HTML (" mon lien "); < / p>

Les devis ne sont pas échappés. Ajoutez simplement une barre oblique inverse avant toutes les citations, doubles ou simples dans votre code HTML. Ça devrait le faire. ;)


0 commentaires

1
votes

S'il arrive d'un lien, vous voudrez probablement le faire avec AJAX:

$("#YOUR_ELEMENT").load("THE_CONTENT_TO_LOAD");


0 commentaires

8
votes

JavaScript n'a pas de bon support pour les chaînes multilignes ou la syntaxe Heredoc, mais il y a quelques solutions de contournement.

Ajouter une barre oblique inverse "\" à la fin de chaque ligne pour que le moteur de script sache que vous continuez sur la ligne suivante sans fin de finition: xxx

Utilisez un piratage XML CDATA ( http://mook.wordpress.com/2005/10/30/multi-line-strings-in-javascript/ ): xxx


0 commentaires