jQuery Добавить в текст SVG не отображается - PullRequest
0 голосов
/ 19 октября 2018

Хорошо, вот проблема, с которой я сталкиваюсь.Я вытягиваю SVG-файл и загружаю содержимое в тело.У меня есть вызов AJAX, который извлекает XML, который соответствует этому SVG.

Я могу изменить цвет заливки символа через jQuery, однако, когда я добавляю элемент в символ> g element itне будет отображаться в браузере, но он есть в Chrome.

Фрагмент кода jQuery

$(document).ready(function(){
$('body').load("../SVG_Tesing/svg.svg", function(){
    $.ajax({
    type: "GET",
    url: "../SVG_Tesing/xml.xml",
    dataType: "xml",
    success: function(xml)
        {
            $(xml).find('plots').find('plot').each(function()
            {
                var fnPlotID = $(this).attr('id');              
                var fnBookingID = $(this).find('plotBooking').attr('id');
                var fnPlotNumber = $(this).find('plotName').text(); 
                $("#site_x5F_"+fnPlotID+" path:eq(1)").after("<text transform='scale(1,-1)'>"+fnPlotNumber+"</text>");              
                //Colours Static
                var fnStaticOccupied = "#74A3C1";
                var fnStaticPending = "#E23813";
                var fnStaticOverdue = "#CD464F";

                //Colours Touring Pitches
                var fnTourOccupied = "#71934D";
                var fnTourPending = "#EB9C1E";
                var fnTourOverdue = "#D33A4B";

                if (fnBookingID != "")
                {                           

                    var fnSelector = "#site_x5F_"+fnPlotID;
                    $(fnSelector+" > g > path").attr("fill", fnTourOccupied);

                    var fnPlotPending = $(this).find('plotBooking').find('bookingPending');
                    var fnPlotOverdue = $(this).find('plotBooking').find('bookingOverdue');

                    if (fnPlotPending == "1")
                    {
                        $("#site_x5F_"+fnPlotID+" > g > path").attr("fill",fnTourPending);          
                    }
                    if (fnPlotOverdue == "1")
                    {
                        $("#site_x5F_"+fnPlotID+" > g > path").attr("fill",fnTourOverdue);
                    }
                }



            });
        },
        error: function() 
            {
                alert("An error occurred while processing XML file.");
            }
    });
});

});

Это инспектор Chrome, показывающий, что текстбыл добавленenter image description here

Теперь вот кикер.Если я скопирую весь SVG из инспектора и вставлю его в свой SVG-файл и сохраню его и загрузлю страницу test.html, то отобразятся числа вместе с присоединенными числами ajax, которые по-прежнему не отображаются.

Кто-нибудь знает, что может быть причиной

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...