2011-09-22 20 views
4

Je voudrais sélectionner le dernier chemin d'un fichier SVG et le supprimer. J'ai essayé une variété de méthodes, en javascript pur et en jquery et je ne semble pas pouvoir accéder correctement au SVG ni à ses chemins.Sélection d'éléments SVG et de chemin avec JavaScript

HTML:

<div id="thesvgwrapper">  
    <svg id="thesvg"...><path ....></path><path ...></svg> 
</div> 

J'effacer le SVG en utilisant:

$('svg#thesvg').empty(); 

Je peux voir le contenu du SVG en utilisant:

var svgwrapper = $('#svgwrapper'); 
var svgcontents = $(svgwrapper).html(); 
alert(svgcontents); 

Cependant, je ne sélectionner de façon similaire le SVG et voir son contenu ...

mon but est quelque chose comme

$('#thesvg path:last').remove(); 

Un million de mercis pour toute aide

+0

Pouvez-vous http://jsfiddle.net/ un exemple? –

+0

Voir mon commentaire ci-dessous. La sélection du dernier chemin était en fait assez facile en utilisant jquery, le javascript pur aurait probablement fonctionné aussi. il y avait d'autres problèmes dans mon code. Merci. – tuddy

Répondre

6

est ici le code exécutable en JavaScript pur:

var paths = svgDoc.getElementsByTagName("path"); 
var last_path = paths[paths.length - 1]; 
last_path.parentNode.removeChild(last_path); 
+1

Il s'avère que la sélection du dernier chemin n'était pas ce qui me retenait ... quelque chose d'autre et ça a marché. cette solution semble décente. J'utilise maintenant un certain jquery et cela suffisait: 'var svg = document.createElementNS (ns, 'svg'); $ ('svg path: last-child'). remove(); ' – tuddy

2

Je suppose que vous utilisez un navigateur compatible SVG tel que Firefox.

Cela fait un moment que j'ai essayé de manipuler SVG via jQuery. Je me souviens que j'étais réticent à utiliser un plugin SVG jQuery, mais sans cela, j'avais des problèmes pour accéder aux éléments du DOM. Y compris le jQuery SVG plugin m'a permis d'accéder aux éléments de sorte que cela pourrait aider avec les problèmes que vous rencontrez.