如何从节点或HTMLElement获取html?

时间:2014-09-13 00:29:38

标签: javascript jquery string parsing dom

我正在尝试将Node或HTMLElement的纯html转换为字符串,但我似乎无法获得正确的结果,如控制台中所示。这意味着只是html元素,而不是它的子元素......

CODE

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]);
});

我只是想知道你们中是否有人成功地做到了这一点!

DEMO:http://jsfiddle.net/0xfwLfwj/1/

修改 通过更好的解释更新了小提琴:http://jsfiddle.net/ttoom9hc/10/

2 个答案:

答案 0 :(得分:0)

如果这是您想要显示的内容 -

<input class="test" data-type="text only" type="button" value="Test">

然后这是它的代码 -

$('#asHTML').text($elm[0].outerHTML);

这是fiddle

答案 1 :(得分:0)

你试过吗

$elm.html()

那应该以字符串形式提供该元素的HTML。 http://api.jquery.com/html/