Как получить код SVG со страницы html, используя jQuery или JavaScript? - PullRequest
1 голос
/ 26 марта 2012

У меня есть простая HTML-страница с SVG, например:

<div id="plan">
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<g id="layer3">
   <rect width="105.71429" height="80" x="351.42856" y="152.36218" id="rect1" style="fill:#008000"></rect>
   <rect width="120" height="85.714287" x="500" y="389.50504" id="rect2" style="fill:#008000"></rect>
</g>
</svg>
</div>

Как мне получить строку:

<rect width="105.71429" height="80" x="351.42856" y="152.36218" id="rect1" style="fill:#008000"></rect> 

из этого SVG.Я могу использовать jquery и jquery svg.Я пытаюсь:

    $(document).ready(function() {
    console.log($("#plan #rect1")[0]);
})

В консоли я беру эту строку, но я должен получить строку в переменной следующим образом:

var str = $("#plan #rect1")[0];

переменная str is [объект SVGRectElement] [введите описание ссылки здесь] 1

Ответы [ 2 ]

5 голосов
/ 30 октября 2012

Чтобы объединить предыдущие ответы (которые мне сначала не были понятны), способ получить строку SVG следующий:

var str = $('<div>').append($('#plan #rect1').clone()).html(); 
1 голос
/ 26 марта 2012
$('#rect1')[0]

Это должно помочь.Если вы хотите получить доступ к тегу вместо элемента jQuery, используйте [], чтобы получить инкапсулированный элемент.

Редактировать :

Это должно помочь вам .

Объясненное решение состоит в том, чтобы заключить ваш выбор в другой тег и вызвать .html () для его отображения.

Не забудьте перед вызовом .clone ()добавив его в свой временный блок, в противном случае у вас будут проблемы с html:)

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