Изменение атрибутов клонированного элемента SVG - PullRequest
1 голос
/ 21 марта 2012

Я новичок в jQuery и пытаюсь изменить атрибут элемента SVG после его клонирования, но атрибуты не изменятся.Я могу сказать, что он успешно дублирует и добавляет прямоугольник (вы можете сказать это из-за прозрачности), но он не перемещает новый прямоугольник вправо, как я ожидал.Кто-нибудь знает, почему это не работает?

<html>
<head>
    <script type="text/javascript" src="jquery.js"></script>
    <script type="text/javascript">
        $(document).ready(function(){
            $("button").click(function(){
                $("rect#current").clone().attr("x","10").appendTo($("svg"));
            });
        });
    </script>
</head>
<body>
    <svg width="100" height="20">
        <rect y="0" x="0" height="10" width="10" id="current"
              style="fill:#000000;fill-opacity:0.1;stroke:#000000;stroke-width:1;stroke-opacity:0.5;"/>
    </svg><br/>
    <button>Clone</button><br>
</body>
</html>

1 Ответ

4 голосов
/ 21 марта 2012

Кажется, чтобы работать здесь:

http://jsfiddle.net/jtbowden/BzJtU/

Что-то еще происходит? Я бы также упомянул, что вам нужно изменить идентификатор после клонирования элемента, иначе вы получите два элемента с одинаковым идентификатором, который не является допустимым XML.

Вот скрипка, где я клонирую прямоугольник, перемещаю его на 10 и превращаю клон в новый элемент #current:

http://jsfiddle.net/jtbowden/BzJtU/2/

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