Javascript 为什么我在使用JQuery';s$.html?

Javascript 为什么我在使用JQuery';s$.html?,javascript,jquery,html,Javascript,Jquery,Html,当我用$.parseHTML()解析html字符串时,最外层的div消失 给定html字符串: var myCode = '<div class="outer">' + ' <div class="inner">' + ' <div>' + ' <p>Hello!</p>' + ' </div>' + ' <d

当我用
$.parseHTML()
解析html字符串时,最外层的div消失

给定html字符串:

var myCode = '<div class="outer">' +
    '    <div class="inner">' +
    '        <div>' +
    '            <p>Hello!</p>' +
    '        </div>' +
    '        <div>' +
    '            <p>Hello!!' +
    '            </p>' +
    '        </div>' +
    '    </div>' +
    '</div>';

在解析之前,我可以通过将所有内容包装到另一个
div
来轻松解决这个问题,但这似乎是对一些本应该有效的东西的攻击

因为.html()给出了调用它的元素集的第一个元素的内部html。您在这里寻找的是
outerHTML

console.log($myHtmlObject[0].outerHTML)
console.log($myHtmlObject.prop('outerHTML'))
在这种情况下也不需要使用parseHTML()

var log=(函数(){
var$log=$('#log');
返回函数(msg){
$(“

”{ 文本:msg }).appendTo($log) } })(); var myCode=''+ ' ' + ' ' + 你好

"+ ' ' + ' ' + “你好!!”+ “

”+ ' ' + ' ' + ''; var$html=$(myCode); 日志('html:'+$html.html()) 日志('outer-html:'+$html.prop('outerHTML'))

因为.html()给出了调用它的元素集的第一个元素的内部html。您在这里寻找的是
outerHTML

console.log($myHtmlObject[0].outerHTML)
console.log($myHtmlObject.prop('outerHTML'))
在这种情况下也不需要使用parseHTML()

var log=(函数(){
var$log=$('#log');
返回函数(msg){
$(“

”{ 文本:msg }).appendTo($log) } })(); var myCode=''+ ' ' + ' ' + 你好

"+ ' ' + ' ' + “你好!!”+ “

”+ ' ' + ' ' + ''; var$html=$(myCode); 日志('html:'+$html.html()) 日志('outer-html:'+$html.prop('outerHTML'))


“获取匹配元素集中第一个元素的HTML内容或设置每个匹配元素的HTML内容。”“获取匹配元素集中第一个元素的HTML内容或设置每个匹配元素的HTML内容。”