2011-03-31 5 views
0

가리키는 외부 스크립트 내에서 태그의 id를 변경하고 싶습니다. 이 일을하는 올바른 방법은 무엇입니까? 나는 라이브 DOM 트리를 볼 때,<script> id를 스크립트로 변경하는 방법 - Javascript

var sessionID = generateSessionID(); 
var scripts = document.getElementsByTagName('script'); 
var script = scripts[scripts.length - 1]; 
script.id = script.id + "_" + sessionID; 

을하지만 :

<script id="ID1" type="text/javascript" src="PATH_TO_EXTERNAL_JS"></script> 

그리고 여기가 내 외부 스크립트 내에서 할 노력하고있어 무엇 : 여기

내 스크립트 태그입니다 방화 광에서 DOM에서 참조 된 2 개의 스크립트를 봅니다. 하나는 원래 ID이고 다른 하나는 새 ID입니다.

감사합니다.

var i = 0 
var sessionID = generateSessionID(); 
var scripts = document.getElementsByTagName('script'); 
var script = null; 
for (i = 0; i < scripts.length; i++) 
    if (scripts[i].src.toString() == 'PATH_TO_EXTERNAL_JS'){ 
     script = scripts[i]; 
     break; 
    } 

if (script) 
    script.id = script.id + "_" + sessionID; 

을 말해 :

+0

명확한 설명을 위해 스크립트가 가리키는 스크립트 내에서 특정 스크립트 태그의 ID를 변경하려고하거나 특정 외부 스크립트를 삽입하여 해당 스크립트를 식별하고 수정하는 방법을 찾고 있습니까? 그것을 참조하는 태그? –

답변

1

당신이 그런 식으로하기 위하여려고하는 경우는, 기존의 스크립트를 제거해야 setAttribute

script.setAttribute("id", script.id + "_" + sessionID); 
0

나는 당신이 다소과 같이 코드를 수정한다고 생각합니다. 모든 SCRIPT 요소를 가져 와서이 컬렉션을 반복하여 알려진 속성 (이 예제에서는 src)이있는 요소를 찾고 찾으면 새로운 ID를 설정합니다.

0

사용. 마이크 루이스 (Mike Lewis)의 대답은 더 나은 방법입니다.

document.removeChild(originalScript) 
관련 문제