JSFiddle - React, Tailwind, and code Playground
JavaScript
jQuery.fn.getTextNodes = function(val,_case) {
var nodes = [],
noVal = typeof val === "undefined",
regExp = !noVal && jQuery.type(val) === "regexp",
nodeType, nodeValue;
if (!noVal && _case && val.toLowerCase()) val = val.toLowerCase();
this.each(function() {
if ((nodeType = this.nodeType) !== 3 && nodeType !== 8) {
jQuery.each(this.childNodes, function() {
if (this.nodeType === 3) {
nodeValue = _case ? this.nodeValue.toLowerCase() : this.nodeValue;
if (noVal || (regExp ? val.test(nodeValue) : nodeValue === val)) nodes.push(this);
}
});
}
});
return this.pushStack(nodes, "getTextNodes", val || "");
};
var $div = $("div");
console.log($div.getTextNodes(),$div.getTextNodes("Text"),$div.getTextNodes("text",true),$div.getTextNodes("none"));