从复杂的HTML字符串创建DOM元素

时间:2015-08-05 14:33:36

标签: javascript jquery html

是否可以create a DOM from an HTML string包含链接,样式,脚本和注释?

在我的应用中,最终用户将粘贴一些表单代码,例如:

<!-- Start comment -->
<link href="test.css" rel="stylesheet" type="text/css">
<style type="text/css">
    #full_name{background:#fff; }
    /* This is
    another comment*/
</style>
<div>
<form action="process.php" method="post">
Full Name:<input type="text" name="full_name">
</form> 
</div>
<script type='text/javascript' src='test.js'></script>
<!-- End comment -->

这是jquery代码:

$('#html-go').click(function (e) {
    e.preventDefault();
    var html_code = $('#html-code').val(),
        obj = $('<div/>').html(html_code).contents();
    alert(obj.attr("action"));
});

我想将其加载到DOM元素中进行解析,但我收到undefined错误。如果表单代码只包含标签之间的内容,那么一切都可以。

此处显示错误的JSFiddle(粘贴上面的表单代码)。

2 个答案:

答案 0 :(得分:1)

您需要在新创建的div中获取表单:

alert(obj.find('form').attr("action"))

请参阅此JSFiddle

答案 1 :(得分:0)

Frame.ListBox