获取所单击元素的HTML内容
get the HTML content of clicked element jQuery
我有以下HTML
<label class="editable" id="user_info_username">Hai world...</label>
现在点击函数,我需要点击元素的内容。
i tried
$(".editable").live("click",function(){
alert($(this).html()) //returns Hai world...
});
但是我需要HTML内容
so <label class="editable" id="user_info_username">Hai world...</label>
克隆已单击的元素,将其包装在<div>
中,然后请求该元素的HTML -类似于:
var html = $('<div/>').append($(this).clone()).html();
工作演示:http://jsfiddle.net/f88kj/
我以前也写了一个插件,在https://stackoverflow.com/a/6509421/6782
(function($) {
$.fn.outerhtml = function() {
return $('<div/>').append(this.clone()).html();
};
})(jQuery);
如果我没理解错的话你需要jQuery的。outerhtml属性
http://forum.jquery.com/topic/jquery-outerhtml-for-jquery你要找的是outerHTML
之类的东西。不幸的是,Firefox目前不支持它,所以在这里寻找一个解决方案:我如何在Firefox中使用OuterHTML ?
也许您可以使用包装器,如下所述:
html:<div class="YourHtmlContent">
<label class="editable" id="user_info_username">Hai world...</label>
</div>
和js:
$(".editable").live("click",function(){
alert($('.YourHtmlContent').html())
});
使用jQuery.clone()的答案是最好的IMO,但我在这里添加这个,因为它是另一种方式,可能对其他人有帮助。
你可以得到任何父div的html -这是一个问题,因为可能有兄弟也会返回。
一样:
alert($(this).parent().html()); //will return siblings too
http://jsfiddle.net/Qg9AL/相关文章:
- 如何根据html内容使用ng类-AngularJS
- JavaScript在其他页面上用html内容填充文本框
- Rails:如何在浏览器中显示动态html内容,而不会对其进行转义,也不会引起XSS攻击
- 使用javascript动态创建html内容/元素
- 无法将大型html内容POST到Chrome上的服务器
- 使用li元素的html内容更改该元素的背景
- 如何从ajax返回两个html内容
- jQuery获取子DIV的HTML内容
- HTML内容下推到固定背景图像下方
- 在angular中,使用ng repeat生成动态html内容
- 使用$watch更改html内容
- 如何使用window.showModalDialog()显示HTML内容
- 如何在使用 UIWebView 编辑 HTML 内容时正确调整输入语言更改 (LTR/RTL) 的文本对齐方式
- 获取垂直溢出容器的 html 内容
- 为数组中的每个项目追加 html 内容
- Dojo:在 iframe 加载时解析 HTML 内容
- 允许 Itemp 在 Enyo 中使用 HTML 内容
- 从选项卡中获取 HTML 内容
- 可以将HTML内容放在画布上(登录页)
- 只有当类是硬编码的时,才可以使用jQuery来显示/隐藏html内容