JQuery:自闭div

ldp*_*ldp 5 html jquery dom

我正在反对一个遗留系统,当 div 不包含任何内容时,它会产生自动关闭的 div。

我想使用 jQuery 来获取某些 div 的内部 html,但是如果 div 是自关闭的,jQuery 总是会得到错误的 html。

请参阅下面的演示代码:

<!doctype html>
<html>
<head>
    <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
    <script type="application/javascript">
        $(function () {
            var s = $('.b').html();
            alert(s);
        });
    </script>
</head>
<body>
    <div class="a"></div>
    <div class="b" />
    <div class="c">This is c</div>
</html>
Run Code Online (Sandbox Code Playgroud)

当我运行此代码时,我得到以下结果:

在此处输入图片说明

请帮助我,任何建议将不胜感激。

Tim*_*lla 5

我怀疑这是不可能的,根据Are self close labels valid in HTML5? 以斜杠结尾的元素与不以斜杠结尾的元素等效。

jQuery 对浏览器生成的 DOM 进行操作,浏览器将元素视为打开状态,请参阅以下示例

var s = $('.b').parent().html(); // <div class="a"></div><div class="b"><div class="c">This is c</div></div>
Run Code Online (Sandbox Code Playgroud)