2015-01-17 5 views
3

나는 유사한 질문을 찾기 위해 간단히 살펴본 것과 비슷하지 않거나 이해할 수없는 것을 발견했습니다. 그래서 이것이 중복되면 사과드립니다.로드 된 HTML에 자바 스크립트 사용

내 문제는로드 된 (.load) HTML에서 자바 스크립트를 사용할 수 없다는 것입니다.

나는를 사용하여 사업부로 메뉴 바 전화 :

$(document).ready(function() { 
    $('.nav').load("navbar.html"); 
}); 

이 완벽하게 작동하고 나는이 아무런 문제가 없습니다. 예를 들어,로드 된 html 코드에 클래스를 추가하려고 할 때 문제가 발생합니다.

내가 현재 사용하는 스크립트는 (내 HTML 코드의 끝 부분에 별도의 .js 파일에 저장 및 호출) : 여기

$(document).ready(function() { 
    $('#home').removeClass('active'); 
    $('#profile').addClass("active"); 
}); 

내가로드 된 HTML 코드에 발생하는 의도입니다 :
이것은 navbar의 일부이며 첫 번째 코드 스 니펫 ^을 통해로드됩니다.

<li id="profile"><a href="Profile.html">Profile</a></li> 

페이지가로드 된 후 : (추가 : '클래스 = "활성")

<li class="active" id="profile"><a href="Profile.html">Profile</a></li> 

(이 부트 스트랩 항법 탭을 사용하여 정렬되지 않은 목록의 일부입니다.)

어쨌든 , 내가 직접이 HTML 페이지에이 코드를 넣고 자바 스크립트를 통해 가져 오기를 제거하면 '활성'클래스와 같은 클래스를 추가 할 수 있습니다. 또한 내 페이지에 화살표를 사용하여 그림을 통해 '슬라이드'하는 자바 스크립트를 사용하는 슬라이더가 있는데 정확히 동일한 문제가 발생합니다.

코드를 가져 오면 자바 스크립트를 사용하여 편집 할 수 없으며, 그러나 코드가 실제 원시 HTML 코드에 존재하면 그렇게 할 수 있습니다. 왜 자바 스크립트 및 그 구문이 새로운지 이해할 수 없습니다.

미리 감사드립니다. 문제가있는 곳을 완전히 확신 할 수 없기 때문에 이것이 명확하지 않을 것이라고 확신하므로 질문에 답변 해 드리겠습니다.

+0

안녕하세요. 나는 너를 따라 가려고 애 쓰고있어. "코드를 가져올 때 자바 스크립트를 사용하여 편집 할 수 없다"라는 의미를 분명히 알 수 있습니까? –

+0

이 문제는 이미 해결되었지만이를 해결하기 위해 navbar.html 파일을 javascript로 Homepage.html 파일에로드합니다. 그러나, 실제로이 코드는 내 Homepage.html (로드되지 않음) 내에있는 navbar.html 내의 코드로 편집 할 수 없습니다. 코드 (navbar.html)가 '로드'되면 '활성'클래스와 같은 클래스를 추가 할 수 없습니다. 아래에서 대답 한 문제는 navbar가 완전히로드되지 않았기 때문입니다. 이것이 도움이 되었습니까? – Jimmy

답변

2

실제로 일어난 일은 코드가 실제로로드되기 전에로드 된 HTML에서 작동하려고하는 것입니다. 전체 콜백에 넣으십시오.

$('.nav').load("navbar.html", function() { 
    $('#home').removeClass('active'); 
    $('#profile').addClass("active"); 
}); 

이렇게하면로드가 완료된 후에 코드가 실행됩니다.

+0

너무 일찍 연설을 한 것 같습니다. 감사합니다.(내가 15 명의 대표를 가지고 있으면 나는 투표 할 것이다) – Jimmy

+0

도움이 되었기 때문에 기쁘다! 대답을 받아 들일 수 있습니까? –

관련 문제