Ce que je veux réaliser est de supprimer une balise HTML avec JavaScript.
J'ai la balise HTML suivante: p> Ce que je veux atteindre, c'est d'obtenir débarrasser du lien.
Il devrait ressembler à quelque chose comme ceci: p> Ce serait ma rééglementation JavaScript: p> mais d'une manière ou d'une autre ça ne fonctionne pas comme prévu.
Peut-être que quelqu'un sait ce qu'il est faux ici? P> Merci beaucoup. P> p>
3 Réponses :
La raison pour laquelle votre regex ne fonctionne pas est que le HTML est interprété par le navigateur sur chargement et crée un modèle d'objet de document qui est une représentation d'objet, toute la logique du navigateur affecte ce modèle et que votre manipulation de chaîne n'affectera pas la page existante sauf si vous avez fait cela avant que la page soit chargée et interprétée.
Si vous connaissez la classe souhaitée, vous pouvez sélectionner l'élément, créer un nouvel élément qui n'est pas un lien et définir son texte de l'ancien élément, append Le nouvel élément sur le DOM et retirez l'ancien élément. P>
Cet extrait devrait faire ce que vous voulez. P>
let class = 'fc-list-heading-main';
let old_element = document.getElementsByClassName(class);
let new_element = document.createElement("div");
new_element.innerHTML = element.innerHTML;
new_element.classList.add(class);
document.body.insertBefore(new_element, old_element);
old_element.parentNode.removeChild(old_element);
pour supprimer l'attribut tag: pour l'élément de remplacement:
P> <a class="fc-list-heading-main" data-goto="{"date":"2019-01-05","type":"day"}">5.Januar 2019</a>
Je suis vraiment désolé et je suis un .... J'ai trouvé une solution encore plus simple que de manipuler quelque chose.
Bien que, j'ai examiné la spécification de FullCalendar, je n'ai rien trouvé au début. P>
mais maintenant je l'ai vu dans mon code: P >
navLinks: true, editable: false,...
Commencez par n'utiliser pas Regex, mais utilisez plutôt le DOM. Vous ne travaillez pas sur les chaînes HTML, non?
Votre étiquette HTML est cassée.
Où vient-il
s code>?Vous avez raison: il me manque.
Pourquoi remplacez-vous avec
test p> code>? Il ne ressemble pas à la sortie souhaitée du tout ...
Vous ne pouvez pas créer d'éléments HTML non valides avec JavaScript. Cela invaliderait le DOM et JavaScript ne permettrait jamais que cela se produise.
La sortie est une chaîne HTML. Ceci est la sortie: 4. Januar 2019
Encore une fois, 5.januar 2019 code> n'est pas un élément valide et ne peut donc pas être créé en JavaScript.
@Bernd, qui est invalide HTML. Regardez les citations ...
Comme il est actuellement, cette question n'a aucun sens et je vote de la supprimer.
OK je vois. Donc, il n'y a aucune possibilité de le gérer correctement? Actuellement, la date est un lien et je ne veux pas que l'utilisateur déclenche ce lien.
Cela ressemble à un problème xy en cause ici. Si vous souhaitez désactiver une fonctionnalité cliquable d'un lien, la solution ne doit pas supprimer le "A" et laisser le reste. La solution consiste à définir son gestionnaire d'événements onclick à une fonction qui appelle
event.preventdefault () code> ou pour définir simplement sa valeur d'attribut href sur une chaîne vide."Alors, il n'y a aucune possibilité de le gérer correctement?" I>: @Bernd, c'est la mauvaise conclusion. D'abord, votre question devrait être corrigée. Comme il vous suffit actuellement, vous ne représentez pas l'entrée de manière valide, et la sortie n'est pas non plus valide HTML. S'il vous plaît prendre du temps pour considérer cela.