Подтвердить что ты не робот

JQuery attr() не может установить атрибут

Я пытаюсь повернуть изображение через svg transform. Это код, который у меня есть:

<svg width="100" height="100"> 
   <image id="trns" transform="rotate(90,50,50)" width="100" height="100" xlink:href="logo.png"/> 
</svg>

Это успешно вращает logo.png на 90 градусов при загрузке страницы. Кроме того, когда я изменяю 90 на другое число на вкладке HTML firbug, поворот изменяется соответственно. Но когда я пытаюсь изменить значение с помощью jQuery, ничего не происходит:

$('#trns').attr('transform', 'rotate(60, 50,50)');

Что делает firebug в моей строке attr?

4b9b3361

Ответ 1

Здесь работает отлично (с jQuery 1.6.2): http://jsfiddle.net/niklasvh/k3Grd/

Обязательно вызовите его, когда DOM готов:

$(function(){
 $('#trns').attr('transform', 'rotate(60,50,50)');
});

Ответ 2

Очень странно, похоже, это работает

$('#trns')[0].setAttribute('transform','rotate(20,50,50)')

Кроме того, если вы посмотрите на $('# trns'). attr ('transform'), вы получаете объект. Не хватает времени, чтобы изучить это сейчас.

Ответ 3

Если вы используете jquery >= 1.6, попробуйте использовать prop вместо attr.
Надеюсь это поможет. Приветствия

Ответ 4

.attr() работает в 3.1.1, как этот

.attr({ style: "prop : val; prop : val; prop : val" })

Это может быть проблема с проблемами версии.