Почему Jquery не хочет читать svg файл?
Начал работать с svg файлами, мне нужен скрипт который будет автоматически читать svg документ и вытягивать нужные мне айди элементов, решил попробовать сделать через JQuery. Но при загрузке страницы выдает "Uncaught TypeError: e.indexOf is not a function
at ce.fn.load"
jQuery(window).load(function () { var svgobject = document.getElementById('svg_parkomesta'); if ('contentDocument' in svgobject) { var svgdom = jQuery(svgobject.contentDocument); jQuery("B14", svgdom).attr("fill", "yellow"); } }); |
jQuery(window).load(function () { var svgobject = document.getElementById('svg_parkomesta'); if ('contentDocument' in svgobject) { var svgdom = jQuery(svgobject.contentDocument); jQuery("B14", svgdom).attr("fill", "yellow"); } });
Дополнительно:
Ответы:
Странный селектор B14. Наверно, все таки #B14
- С селектором все было хорошо, почему то код не воспринимался и постоянно выбивал ошибку, написал "window.onload = function(){" и все заработало
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Проблема, связанная с jQuery, которая может возникнуть при попытке чтения файлов формата SVG, может быть вызвана различными факторами. Одной из причин может быть то, что jQuery не поддерживает чтение SVG файлов напрямую из-за особенностей этого формата. SVG файлы представляют собой векторную графику, которая может содержать сложные структуры и элементы, которые могут быть несовместимы с методами чтения jQuery.
Для того чтобы успешно читать SVG файлы с использованием jQuery, можно попробовать следующие способы:
1. Использование AJAX запроса: можно попробовать загрузить содержимое SVG файла с помощью AJAX запроса и затем обработать его с помощью jQuery. Например:
$.ajax({ url: 'file.svg', dataType: 'xml', success: function(data) { // обработка данных SVG файла } });
2. Использование специализированных плагинов: существуют плагины для jQuery, которые специально предназначены для работы с SVG файлами. Некоторые из них могут облегчить чтение и обработку SVG файлов с использованием jQuery.
3. Проверка наличия ошибок в SVG файле: иногда проблема может быть вызвана некорректным форматом или структурой SVG файла. Убедитесь, что ваш SVG файл содержит корректные теги и атрибуты.
4. Использование нативных методов: вместо jQuery можно использовать нативные методы JavaScript для работы с SVG файлами, такие как `document.createElementNS` и `setAttributeNS`.
При возникновении проблем с чтением SVG файлов с использованием jQuery, рекомендуется провести дополнительное исследование и эксперименты с различными подходами, чтобы найти оптимальное решение для вашего конкретного случая.