2011-01-22 9 views
3

다음 질문에 대한 후속 조치입니다. How to access SVG elements with Javascript 그러나 해결책은 저에게 적합하지 않습니다. 최신 버전의 Chrome을 테스트하고 있습니다. 필자는 미국지도를 SVG 파일로 가지고 있는데, 이는 내 컴퓨터에 다운로드하여 XML 코드를 약간 변경했습니다.자바 스크립트를 통해 SVG 요소에 액세스하십시오.

나는 object 태그를 사용하여 svg를 임베드하고 "USAsvg"라는 ID를 할당했으며 먼저 베이비 스텝을 진행합니다. 버튼 onclick 이벤트에서 나는 성공하지 않고 다음 코드를 실행하고 있습니다. 여기서 'CA'는 svg 파일 내에서 path 태그를 사용하여 선언 된 상태입니다. 그것은 일반 HTML 노드 인 것처럼

이 최신 크롬에서 작동
var a = document.getElementById('USAsvg'); 
var svgDoc = a.contentDocument; 
var delta = svgDoc.getElementById('CA'); 

alert(delta.value); 
+0

본 적이 있습니까? : http://www.carto.net/papers/svg/manipulating_svg_with_dom_ecmascript/ – jerluc

+1

작동하지 않는 것을보다 자세하게 설명해야합니다. '경고 '가 전혀 보이지 않습니까? 무엇이 포함되어 있습니까? 자바 스크립트 콘솔에 오류가 있습니까? Chrome에는 콘솔 및 디버거를 포함하여 다양한 개발 도구가 제공되므로 'alert()'를 사용할 필요가 없습니다. 이미 사용하고 계십니까? 그렇지 않다면, ** 정말해야합니다. ** –

+0

나는 임베딩 할 때 파일 외부에서 SVG 요소에 액세스하려고합니다. 현재의 접근 방식이 성공하지 못한다면이 방법을 사용해야 할 것입니다. –

답변

1

, 부하 직접 DOM에 SVG는, 다음을 조작, jQuery를에 html로() 함수는 (텍스트를 사용, 작동하지 않습니다) 대신.

$('.your_div_for_svg').load('svg/file.svg', function(){ 
     $('#some_textnode_w_id_within_svg').text('Hello word'); 
}); 
관련 문제