Bien sûr, il existe toute une gamme d’erreurs possibles relatives à la validité des documents, mais j’ai un obstacle immédiat lorsque je modifie un paragraphe ( p
) en un élément d’ address
. Ma méthode actuelle est (plus ou moins):
var p = $('p#test'); p.replaceWith('' + p.html() + '');
mais cela échoue pour ce cas particulier; cela fonctionne parfaitement pour p -> blockquote ou h2 -> h3. Firebug suggère qu’un élément à fermeture automatique (
Quelqu’un peut-il repérer le bogue ou suggérer une autre méthode?
var p = $('p#test'); var a = $(''). append(p.contents()); p.replaceWith(a);
Votre solution est soumise à toutes sortes de problèmes épouvantables en HTML et éventuellement à des attaques par injection.
Vous pouvez utiliser un espace réservé autour du titre:
Titre h1> span>
Ensuite, utilisez JavaScript DOM pour créer de nouvelles valeurs pour la propriété innerHTML.