J'ai du HTML simple que je dois dépouiller d'un formatage simple.
A nice house was found in <b>Toronto</b>.
Je dois enlever le gras, mais laisser la phrase intacte.
Comment cela est-il possible dans jQuery ?
J'ai du HTML simple que je dois dépouiller d'un formatage simple.
A nice house was found in <b>Toronto</b>.
Je dois enlever le gras, mais laisser la phrase intacte.
Comment cela est-il possible dans jQuery ?
// For MSIE:
el.removeNode(false);
// Old js, w/o loops, using DocumentFragment:
function replaceWithContents (el) {
if (el.parentElement) {
if (el.childNodes.length) {
var range = document.createRange();
range.selectNodeContents(el);
el.parentNode.replaceChild(range.extractContents(), el);
} else {
el.parentNode.removeChild(el);
}
}
}
// Modern es:
const replaceWithContents = (el) => {
el.replaceWith(...el.childNodes);
};
// or just:
el.replaceWith(...el.childNodes);
// Today (2018) destructuring assignment works a little slower
// Modern es, using DocumentFragment.
// It may be faster than using ...rest
const replaceWithContents = (el) => {
if (el.parentElement) {
if (el.childNodes.length) {
const range = document.createRange();
range.selectNodeContents(el);
el.replaceWith(range.extractContents());
} else {
el.remove();
}
}
};
Une autre solution indigène (dans le café) :
el = document.getElementsByTagName 'b'
docFrag = document.createDocumentFragment()
docFrag.appendChild el.firstChild while el.childNodes.length
el.parentNode.replaceChild docFrag, el
Je ne sais pas si elle est plus rapide que la solution de l'utilisateur 113716, mais elle pourrait être plus facile à comprendre pour certains.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.