[ACCEPTED]-Remove text with jQuery-jquery
Accepted answer
Using the answer from this question:
$(elem)
.contents()
.filter(function() {
return this.nodeType == 3; //Node.TEXT_NODE
}).remove();
0
First, you can wrap them with dummy spans:
$("body").contents()
.filter(function(){ return this.nodeType != 1; })
.wrap("<span class='orphan'/>");
Now 1 you can remove them easily:
$('span.orphan').remove();
fwiw..
<div class="parent-element">
<p>This is some text</p>
This is "unwrapped" text //to be removed
<span>some more text</span>
</div>
via CSS:
.parent-element { font-size: 0px; }
.parent-element p { font-size: 12px; }
.parent-element span { font-size: 14px; }
0
Wrapping it in a DOM element would mean 1 jQuery can find it:
eg:
var text = 'This is "unwrapped" text';
$("div:contains('" + text + "')").remove();
or just:
$('p').next().remove();
It's amazing but at the same time the following 5 code doesn't work
$("div.myClass:has(img)").contents().filter(":text").remove();
and the code from the first 4 post works
$("div.myClass:has(img)")
.contents()
.filter(function() {
return this.nodeType == 3; //Node.TEXT_NODE
}).remove();
It's important to remeber! jQuery 3 1.8.3.
And first of all I remember that innerHTML 2 manipulation works much more faster than 1 this approach!
Source:
stackoverflow.com
More Related questions
Cookie Warning
We use cookies to improve the performance of the site. By staying on our site, you agree to the terms of use of cookies.