Мне известно, что jQuery 3.5.0 содержит исправление безопасности, как описано здесь
https://www.infoq.com/news/2020/04/jquery-35-xss-vulnerability-fix/
однако я все еще был удивлен этим дело. Это правильно?
Вот мой пример. Есть ссылки на 2 jQuery библиотеки, старые и новые. Вы можете комментировать один и использовать другой
https://jsbin.com/baretotepo/edit?html, js, вывод
Код минимален и не требует пояснений, урезанный пример из реального case
Он пытается поместить на страницу немного html, но имеет ошибку, как показано здесь
<div>
<i class="Tag" /> <--- error here
<i class="A"></i>
</div>
<div>
<i class="B" />
</div>
<div>
<i></i>
</div>
В jQuery 3.4.1 это приведет к
<div><i class="Tag"></i><i class="A"></i></div> <div><i class="B"></i></div><div><i></i></div>
В jQuery 3.5.0 это выдает
<div><i class="Tag"><i class="A"></i></i></div><i class="Tag"> <div><i class="B"></i></div><div><i class="B"><i></i></i></div></i>
Он дублирует тег 'i' с классом 'B'
Это неверный ввод, поэтому я буду примите ответ "это просто так работает"
Это в Chrome