Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Get HTML String for jQuery and/or DOM object

I think I've read through the complete jQuery API documentation and looked at jQuery objects and simple DOM elements in the debugger to check what methods they actually have at runtime, but for the life of me, I can't find a way to get the html string that represents the contents of a jQuery object or a DOM Node. Am I missing something?

jQuery objects have the method html(), DOM elements have the property innerHTML but both only give the inner html of the object. So if I have HTML like this:

<body>
    <div>
        <p>Hello World!</p>
    </div>
</body>

And I use jQuery doing something like this var $div = $body.find("div") and I then call $div.html() the returned string is "<p>Hello World!</p>". But I'm looking for a way to make it return "<div><p>Hello World!</p></div>" (I don't care about the whitespace).

What am I doing wrong? It can't be that difficult to get the html representation of these objects, can it?

like image 711
Joachim Kurz Avatar asked Dec 27 '22 04:12

Joachim Kurz


1 Answers

try the dom property .outerHTML

like image 83
Colleen Avatar answered Jan 07 '23 11:01

Colleen