Quelqu'un pourrait-il me dire comment je peux modifier le HTML avant de l'insérer dans le document?
Ceci est un appel AJAX: P>
url: "http://localhost/cart/public/admin/album", success: function(html) { $(html).find('h1').css('color','red'); console.log($(html).find('h1').length); $('aside').after(html);
4 Réponses :
Essayez d'ajouter ! Important code> au style CSS:
$(html).find('h1').css("color", "red !important");
Vous ne pouvez pas utiliser! Important dans un appel .CSS.
Essayez ceci: p>
$ (html) .Find ('h1'). CSS ("couleur", "rouge"). Parent (). Insérer ('Mister'); Code> P>
Cela ne ferait que insérer le H1 et non l'ensemble de l'élément HTML
On dirait que vous changez de couleur, puis ajoutez la chaîne inchangée au DOM. Essayez ceci:
Superbe réponse :) Cela pourrait être simplifié comme suit: $ HTML.Find ('H1'). CSS ('Color', 'Rouge'). End (). Insérer ('Mister')
REMARQUE: Si vous souhaitez que l'élément racine de la chaîne, vous ne pouvez pas utiliser trouver code> dessus, puisque la variable est i> l'élément racine.
La réponse acceptée ici réellement gaspillée beaucoup de mon temps. Au moins, ce n'est pas générique. C'est ce qui est compris après un jour.
$.ajax({ url: "http://localhost/~yoelusa/the-url-of-your-string.html", success: function(htmldata) { var $html = $("<div/>").append( htmldata ); // make your changes on the html string, see some example bellow relevant to my htmlstring $html.find('#left').html(""); $html.find('#right').html(""); $html.find('.commentlist').remove(); // when you are ready to insert your string somewhere call the html() function, in my example I inserted it in an iframe $("iframe").attr("srcdoc", $html.html() ); } });
Essayez-vous de changer la couleur du texte ou la couleur d'arrière-plan?
Pouvez-vous faire jsfiddle.net démonstration de ce problème?
Votre code devrait fonctionner, êtes-vous sûr que votre page ne contient aucune règle pour masquer les éléments que vous ajoutez?
Vous manquez un point avant «de côté»?
Y a-t-il une raison convaincante de ne pas l'ajouter au DOM et alors i> changer de CSS?
Et @ leo.vingi a un point. Si «Mister» est une classe appliquée à certains de vos éléments, vous devez utiliser $ ('. De côté »). Si c'est l'identifiant d'un élément, vous devez utiliser $ ('# de côté »)