.text()
method to get the content of any element from DOM. This function is straight forward, it strips off all the html element from a selected element and returns the remaining text. So for below element the .text() method will return “A quick brown fox”. <div id="foo">
A quick brown fox
</div>
<script>
$("#foo").text(); //return "A quick brown fox"
</script>
Code language: HTML, XML (xml)
But by the definition the .text() returns all the text inside an element. What if you have an element which contains child elements and you want text of only the selected element ignoring all the child elements? For example: Here we have a DIV which has text “A quick brown fox” and also contain a child DIV which has text “jumps over a lazy dog!” <div id="foo">
A quick brown fox
<div id="bar">
jumps over a lazy dog!
</div>
</div>
<script>
$("#foo").text(); //return "A quick brown fox jumps over a lazy dog!"
</script>
Code language: HTML, XML (xml)
What if you just want “A quick brown fox” and wants to ignore all the child element? Well, here is a simple solution using jQuery. <script>
$("#foo")
.clone() //clone the element
.children() //select all the children
.remove() //remove all the children
.end() //again go back to selected element
.text(); //get the text of element
</script>
Code language: JavaScript (javascript)
We clone the element that you want text of, then remove all the child elements from this cloned element and then returns the text of element. I have written a small jQuery plugin “justtext” which you can use to get the text of element and ignore all child elements. Here is the code of justtext plugin. jQuery.fn.justtext = function() {
return $(this) .clone()
.children()
.remove()
.end()
.text();
};
Code language: JavaScript (javascript)
So the usage is just by calling justtext()
method on any element. <!-- include justtext jquery plugin -->
<script src="https://www.viralpatel.net/demo/jquery/get-text-without-child-element/jquery.justtext.1.0.js"></script>
<div id="foo">
A quick brown fox
<div id="bar">
jumps over a lazy dog!
</div>
</div>
<script>
$("#foo").justtext(); //return "A quick brown fox"
</script>
Code language: HTML, XML (xml)
Java URL Encoder/Decoder Example - In this tutorial we will see how to URL encode/decode…
Show Multiple Examples in OpenAPI - OpenAPI (aka Swagger) Specifications has become a defecto standard…
Local WordPress using Docker - Running a local WordPress development environment is crucial for testing…
1. JWT Token Overview JSON Web Token (JWT) is an open standard defines a compact…
GraphQL Subscription provides a great way of building real-time API. In this tutorial we will…
1. Overview Spring Boot Webflux DynamoDB Integration tests - In this tutorial we will see…
View Comments
An nice and useful tutorial. Thanks.
this works great if you only have one orphan child, but it stops when you have multiple lines of text and they are in different areas within the container. :)
jQuery noob here. I just spent around half an hour looking for a simple solution to a simple problem I was trying to solve, but nothing really worked until this article got me on the right track. Just wanted to say thanks, is all. :)
awesome. short and sweet AND reusable. Just what I was looking for.. thanks.
This is what I looking for.
Thank you very much.
Nice example, thanks for sharing. Am sure it would go in *.util of most projects :).
well done
Thanks - simple but effective. As mahesh said, one for the the util file!
Nice example, thanks for sharing
but how to create .justtextUpdate()
Thanks man :) cute piece of code!