Let's suppose I have
var testHTML = "<div id='demo_div'></div>";
I want to get above div as JQuery object to manipulate with it. I try to find it with:
var found = $(testHTML).find("#demo_div");
and with:
var found = $(testHTML).find("div");
Both without luck. I have empty found variable. What am I do wrong?
P.S. Yes I know I can have direct access to my div with
$("#demo_div")
but I can't do it in my case - I need to get it from plain HTML that will be assigned to some variable just like in my example with testHTML var.
UPDATE: Even if I have not root div element like here:
var testHTML = "<html><div id='demo_div'></div></html>";
I can't use find for navigating div element.
3. Getting HTML elements by Id: The Id selectors are used to uniquely identify an HTML element in an HTML document. In General, An HTML element is provided with a unique id, and then users can use the getElementById() method to access the particular element by passing that id value into the method.
Use the textContent property to get the text of an html element, e.g. const text = box. textContent . The textContent property returns the text content of the element and its descendants. If the element is empty, an empty string is returned.
The problem is that your div
is the root element in the collection, so you need to use .filter()
instead of .find()
(which only looks at descendant elements):
var found = $(testHTML).filter("#demo_div");
I'm assuming your actual HTML string is more complex than the one in the question, otherwise you don't need to do anything other than $(testHTML)
and you will have a jQuery object containing that single element.
You could use the .search()
function of the javascript itself.
testHTML.search('demo_div')>-1
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With