Когда вы передаете строку разметки в HTML5 обещает позволить вам использовать Однако для современных браузеров вы должны использовать HTML-код X (должным образом исполненный как *: ну, есть DOM Level 3 LS parseWithContext , но поддержка браузера очень плохая. Изменить для добавления: однако, пока вы не можете вводить разметку в SVGElement, вы можете добавить новый SVGElement в HTMLElement с помощью **: Я ненавижу то, как авторы HTML5, похоже, боятся XML и намерены использовать функции, основанные на XML, в жестоком беспорядке, который это HTML. XHTML решил эти проблемы много лет назад. $
, она анализируется как HTML, используя свойство innerHTML
браузера на ). innerHTML
не может анализировать SVG или другой не-HTML-контент, и даже если бы он не мог сказать, что
должен был находиться в пространстве имен SVG. innerHTML
] недоступно в SVGElement - это свойство только HTMLElement. В настоящее время нет свойства innerSVG
или другого способа (*) для анализа содержимого в SVGElement. По этой причине вам следует использовать методы типа DOM. jQuery не дает вам легкий доступ к методам, поддерживающим имена, необходимые для создания элементов SVG. Действительно, jQuery не предназначен для использования с SVG вообще, и многие операции могут завершиться неудачно. без
xmlns
внутри обычного HTML (text/html
) документа в будущее. Но это всего лишь взлом для анализатора (**), содержимое SVG по-прежнему будет SVGElements в пространстве имен SVG, а не HTMLElements, поэтому вы не сможете использовать innerHTML
, даже если они выглядят как часть HTML-документа. application/xhtml+xml
; сохранить с расширением .xhtml для локального тестирования ), чтобы заставить SVG работать вообще. (В любом случае это имеет смысл: SVG - это стандарт, основанный на стандартах XML). Это означает, что вам придется избегать символов <
внутри вашего блока сценариев (или заключить в раздел CDATA) и включить XHTML xmlns
. Пример:
innerHTML
, а затем перенести его на желаемую цель. Скорее всего, это будет немного медленнее:
0 ответов
Похожие вопросы: