Подтвердить что ты не робот

JQuery: самозакрывающийся div

Я работаю против устаревшей системы, которая создает самозакрывающийся div, когда div не содержит ничего.

Я хочу использовать jQuery для получения внутреннего html некоторого div, но если 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>

Когда я запускаю этот код, я получаю этот результат:

enter image description here

Пожалуйста, помогите мне, любые предложения будут оценены.

4b9b3361

Ответ 1

Я подозреваю, что это невозможно, поскольку Являются ли самозакрывающиеся теги действительными в HTML5? элементы, заканчивающиеся на косую черту, эквивалентны тем, которые этого не делают.

jQuery работает с DOM, созданным браузером, и браузер видит этот элемент открытым, см. этот пример:

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