#jquery #sizzle
#jquery #шипение
Вопрос:
Выполнение https://github.com/Semantic-Org/Semantic-UI/issues/886#issuecomment-46210448 , я пытаюсь вернуть селектор jQuery, содержащий необработанный текст (без HTML-тегов), но если я это сделаю $("Error: something has gone wrong")
, я получу:
Uncaught object jquery.js:1437
Sizzle.error jquery.js:1437
Sizzle.tokenize jquery.js:2051
Sizzle.select jquery.js:2452
Sizzle jquery.js:843
jQuery.fn.extend.find jquery.js:2668
jQuery.fn.init jquery.js:2776
jQuery jquery.js:76
$.fn.form.settings.templates.error Forms.js:31
$.fn.form.$allModules.each.module.add.errors semantic.js:1638
$.fn.form.$allModules.each.module.invoke semantic.js:1897
(anonymous function) semantic.js:1918
jQuery.extend.each jquery.js:375
jQuery.fn.jQuery.each jquery.js:139
$.fn.form semantic.js:1375
Обертывание текста в a <span>
устраняет исключение, но есть ли лучший способ?
Ответ №1:
Использование функции jQuery с необработанной строкой, отличной от HTML, не имеет смысла.
http://api.jquery.com/jQuery/#jQuery2
Согласно этой документации, jQuery()
функция анализирует HTML, а не XML, и, следовательно, даже не необработанный текст.
Если вам нужно добавить некоторый необработанный текст к элементу, используйте этот .text()
метод.
пример:
$('.someClass').text('Error: Message');
Комментарии:
1. Я понимаю, но вы читали, что делает jlukic в github.com/Semantic-Org/Semantic-UI/issues /… ? Имеет ли смысл возвращаться
$(html)
в этом контексте?2. Как я уже упоминал, функция jQuery анализирует допустимые строки HTML. и даже больше, если вы используете jQuery 1.9 и выше. jquery.com/upgrade-guide/1.9 /…