node-html-parser
node-html-parser copied to clipboard
Add replaceWith method to text node
Would it be possible to have replaceWith method added to next nodes. Example use case:
Text node has content 'word1 word2 word3' and I would like to replace it with for example the following html:
'word1 <b>word2</b> word3'
This would be really easy to do with:
node.replaceWith('word1 <b>word2</b> word3');
Yes, it should. I guess you want this do :
const root = parse('word1 word2 word3');
root.replaceWith('word1 <b>word2</b> word3');
root.toString().should.eql('word1 <b>word2</b> word3');
But it doen't, actually, the node wont change after calling replaceWith
, and the method replaceWith
return the node itself. you can try this:
const root = parse('<div>word1 word2 word3</div>');
const div = root.querySelector('div');
div.replaceWith('<div>word1 <b>word2</b> word3</div>');
root.toString().should.eql('<div>word1 <b>word2</b> word3</div>');