У меня та же проблема, что и здесь: jQuery attr () не может установить атрибут
К сожалению, представленные решения не работают.
Вот код, который я использую:
var text = document.createElement("text");
var dayLabel = document.createTextNode("test");
$(text).attr("transform", "rotate(30 0 0)");
$(text).append(dayLabel);
$(svg).append(text);
Что я не понимаю, так это когда я смотрю на дерево DOM (с помощью инспектора элементов Safari), я вижу, что элемент имеет набор transform="rotate(90 0 0)"
,но вращение кажется просто неудачным.
Мой файл jQuery обновлен (1.7.1), и код, который я показал, содержится в «Классе», который создается в этом блоке кода:
$(document).ready(function() { ... right here ... });
... поэтому он выполняется только тогда, когда DOM готов.
Кроме того, не знаю, может ли это помочь, но ...
Эта частькод работает:
$("#schedule").append('<svg id="test2" xmlns="http://www.w3.org/2000/svg" version="1.1"><text transform="rotate(30 0 0)">blabla</text></svg>');
... но этот не:
$("#schedule").append('<svg id="test1" xmlns="http://www.w3.org/2000/svg" version="1.1"></svg>');
$("#test1").append('<text transform="rotate(30 0 0)">blabla</text>');
По сути, это тот же код, но в 1 и 2 шагах соответственно.Еще раз, в обоих случаях инспектор DOM Safari по-прежнему показывает то же самое, то есть <text transform="rotate(30 0 0)">blabla</text>
, но во втором элемент просто не отображается на странице.