【发布时间】:2014-11-07 05:55:22
【问题描述】:
我正在尝试将 Node 或 HTMLElement 的纯 html 转换为字符串,但我似乎无法获得控制台中显示的正确结果。这意味着只是 html 元素,而不是子元素......
代码
function eventData(e){
return {
'sender': e.srcElement || e.target,
'event': e || window.event,
};
};
$(document).ready(function(e){
var $elm = $("<input class='test' data-type='text only'/>").attr({'type':'button','value':'Test'});
$elm.appendTo('#target');
$elm.click(function(e) { alert(eventData(e).sender.value); });
$('#asHTML').text($elm[0].toString());
//Console is the best way to display a node object;
//Open your console to see the result;
console.log($elm[0]);
});
我只是想知道你们中是否有人成功地做到了这一点!
演示:http://jsfiddle.net/0xfwLfwj/1/
编辑 更新了 fiddle 并提供了更好的解释:http://jsfiddle.net/ttoom9hc/10/
【问题讨论】:
-
你为什么使用
eventData? jQuery 为您修复 IE 问题。 -
尝试
$elm[0].innerHTML或$elm[0].outerHTML获取HTMLElement实例的html。不确定在Node实例的情况下要做什么。 -
也许是
this.get(0); -
这样做可行,但它也会读取它的子元素。我只需要实际的 HTML 元素。也许有办法避免子元素?
标签: javascript jquery string parsing dom