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>
Когда я запускаю этот код, я получаю этот результат:
Пожалуйста, помогите мне, любые предложения будут оценены.
Ответы
Ответ 1
Я подозреваю, что это невозможно, поскольку Являются ли самозакрывающиеся теги действительными в HTML5? элементы, заканчивающиеся на косую черту, эквивалентны тем, которые этого не делают.
jQuery работает с DOM, созданным браузером, и браузер видит этот элемент открытым, см. этот пример:
var s = $('.b').parent().html(); // <div class="a"></div><div class="b"><div class="c">This is c</div></div>