I have the following HTML
<label class="editable" id="user_info_username">Hai world...</label>
now on click function i need the content of the clicked element .
i tried
$(".editable").live("click",function(){
alert($(this).html()) //returns Hai world...
});
But i need the HTML content
so <label class="editable" id="user_info_username">Hai world...</label>
Clone the clicked element, wrap it in a
<div>
, and then ask for the HTML of that - something like:Working demo at http://jsfiddle.net/f88kj/
I also previously wrote a plugin that does this at https://stackoverflow.com/a/6509421/6782
Maybe you could use a wrapper, like described below:
html:
and js:
The answer using jQuery.clone() is best IMO, but I'm adding this here as it's another way and might be helpful to others.
You could get the html of whatever the parent div is - this is an issue because there might be siblings which would also be returned.
like so:
http://jsfiddle.net/Qg9AL/
What you're looking for is something like
outerHTML
. Unfortunately, Firefox does not currently support it, so look for a work-around here: How do I do OuterHTML in firefox?.if I well understood you need something like .outerHTML property for jQuery
http://forum.jquery.com/topic/jquery-outerhtml-for-jquery