Этот код не будет работать и в 2.x. Кажется, вы должны прочитать об элементе <use>
. «use» не загружает изображение в Dom, где вы можете манипулировать им. Это для отражения существующих элементов. Поэтому, когда вы вызываете «use», вы передаете идентификатор элемента для зеркального отображения. Тем не менее, вы также можете отражать элементы из внешних svgs. Поэтому вы дали второй параметр, где вы можете передать в URL. Тем не менее, вы не можете манипулировать svg таким образом, потому что «use» создает теневой Dom для отображения элемента, поэтому его нельзя редактировать. Если это уже то, что вы хотите, вы можете просто загрузить изображение svg в тег 'img'. Однако, если вы действительно хотите манипулировать изображением после его загрузки, вы должны сделать запрос Ajax и физически поместить svg в Dom, чтобы svg. js мог получить к нему доступ.
К вашему примеру: как указано, «использовать» - это не то, что вам нужно. Однако есть вторая ошибка. Вы никогда не присоединяете документ svg к Dom. Беглый взгляд на инспектора Dom должен показать вам это. То, что вы хотите сделать, это использовать SVG().addTo('#someId')
. Однако, как обсуждалось выше, вы, скорее всего, захотите поместить внешний svg в Dom. Таким образом, чтобы получить SVG с svg. js, который уже находится в Dom, используйте SVG(ID)