У меня есть селектор в функции поиска, который работает с jQuery 3.3.1, а до этого нет в 3.4.0 и 3.4.1.Я использую его в объекте документа xhtml jQuery, на котором я использовал $ .parseXML.Я использую полную версию jQuery.
Я изучил журналы изменений jQuery и не вижу ничего, что могло бы повлиять на это, а также изменений исходного кода на github.
Я проверил поиск с помощью .class и #id, и он работает, но идентификаторы будут динамическими, поэтому мне нужно искать по имени атрибута.Также мне нужно будет управлять несколькими диапазонами, поэтому мне нужен .each (функция).В настоящее время мы замораживаем нашу зависимость от jQuery 3.3.1, потому что он работает как положено, но в 3.4.0+ он даже не входит в функцию.
Работает:
const xmlDoc = $.parseXML(`<?xml version="1.0" encoding="windows-1252" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns:dd="DynamicDocumentation">
<head>
<title></title>
</head><body><span dd:drop_list_uuid="9999">mydrop1</span></body></html>`);
const $xml = $(xmlDoc).find('body');
$xml.find('span[dd\\:drop_list_uuid]').each(function() {
console.log($(this).text())
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
Не работает:
const xmlDoc = $.parseXML(`<?xml version="1.0" encoding="windows-1252" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns:dd="DynamicDocumentation">
<head>
<title></title>
</head><body><span dd:drop_list_uuid="9999">mydrop1</span></body></html>`);
const $xml = $(xmlDoc).find('body');
$xml.find('span[dd\\:drop_list_uuid]').each(function() { // This is the line that doesn't work
console.log($(this).text())
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>