현재 페이지가 some1.html이고 두 번째 페이지 some2.html이 있다고 가정합니다. JavaScript를 사용하여 some1.html의 "some2.html"에있는 DOM 요소에 어떻게 액세스합니까?현재 html에서 다른 html의 dom 요소에 액세스하는 방법
답변
수 없습니다.
코드는 새 페이지가 동일한 창에로드되고 있음을 보여줍니다.
page1의 JavaScript 환경은 page2 환경이 작성되기 전에 사라집니다. 동시에 존재하지 않기 때문에 다른 DOM에서 하나의 DOM에 액세스 할 수 없습니다.
당신이 할 수있는 일은 localstorage 나 쿠키에 일부 데이터를 저장하고 page2에 배치 한 코드에서 해당 데이터를 찾아서 그 내용을 기반으로 JS를 실행하는 것입니다.
Quentin이 말했듯이 window.location.href
을 변경하면 chaned 파일이로드되기 때문에 Ajaxh를 조금 실험 해 볼 수 있습니다. 또는 다음과 같이 iframe을 사용 :이 작업을 수행 할 수
var frame= document.createElement('iframe');
frame.setAttribute('src', 'some2.html');
frame.setAttribute('name', 'some2');
frame.appendTo(body);
var some2 = document.frames['name'];
//now you can acces to some2 with getElementById,...
방법은 AJAX를 사용하는 것입니다 :
$.get(url, function(data) {
var $doc = $(data);
});
당신은 URL에서 내용을 얻기 위해 그것을 사용하고 그것으로 뭔가를 할 수 있습니다.
귀하의 편집에 대한 응답으로 : 일반적인 jQuery $('selector')
대신 $doc.find('selector')
을 수행하면 DOM 요소에 액세스 할 수 있습니다.
또한 수행하여 조금 더 쉽게 만들 수 있습니다
$.get(url, function(data) {
var $doc = $(data);
var $d = $doc.find;
});
이 경우 당신은 구문 $d('selector')
를 사용할 수 있습니다.
var xhr = new XMLHttpRequest();
xhr.open('GET', url, true);
xhr.responseType = 'document';
xhr.send();
xhr.onload = function(e) {
var doc = e.target.responseXML;
}
당신은 일반적으로 요소를 선택할 것처럼 당신은 doc.getElementById('id')
를 통해 DOM 요소에 액세스 할 수 있지만 대신 doc
를 사용 : 당신이 jQuery를하지 않고이 작업을 수행 할 것입니다 방법은 설치
는 것 document
.
참고 :이 기능은 $doc
, $d
및 doc
변수는 콜백 함수 내에서만 액세스 할 수 있습니다 (그래서 그들은 그들이 정의하고있는 함수 내에서만 액세스 할 수있어).
비 jQuery 예제는 브라우저에 무관심하지 않습니다. –
오, 나는 몰랐다. 그러면 그 중 어떤 부분이 작동하지 않을까요? – Joeytje50
나는 IE <= 6,'XMLHttpRequest'가 정의되어 있지 않다고 믿는다 (나는 IE 호환성이 고통 스럽다). 거대한 거래는 아닙니다. 나는 당신의 대답을 반대했지만, 언급 할만한 가치가 있다고 생각했다. –
- 1. javascript를 사용하여 DOM 요소에 액세스하는 방법 Regex
- 2. 다른 클래스의 요소에 액세스하는 방법
- 3. 각도 2와 지시문에서 현재 요소에 액세스하는 방법
- 4. DOM 작동 /로드 방법? (HTML에서)
- 5. 지시어 템플릿 안의 DOM 요소에 액세스하는 AngularJS
- 6. jQuery AJAX가 DOM 요소에 액세스하는 것보다 느리다.
- 7. mxml (Flex) DOM 요소에 액세스하는 방법은 무엇입니까?
- 8. 카르마 차이 (Karma Chai) DOM 요소에 액세스하는 방법
- 9. Ember Js 프레임 워크의보기에서 DOM 요소에 액세스하는 방법
- 10. 필요한 지시문 컨트롤러가 현재 DOM 요소에 없습니다
- 11. mouselistener를 사용하여 다른 구성 요소에 액세스하는 방법
- 12. html에서 jQuery 변수에 액세스하는 방법
- 13. html에서 viewmodel의 속성에 액세스하는 방법?
- 14. 옆에있는 요소에 액세스하는 방법?
- 15. iframe 요소에 액세스하는 방법
- 16. html에서 DOM 상태 저장하기
- 17. 다른 DOM 요소에 마우스 휠 이벤트 보내기
- 18. matlab에 struct 요소에 액세스하는 방법
- 19. 다른 클래스의 UI 요소에 액세스하는 WPF
- 20. QTP에서 SysListView32 요소에 액세스하는 방법?
- 21. TreeMap에서 특정 요소에 액세스하는 방법?
- 22. BroadcastReceiver에서 TextView 요소에 액세스하는 방법
- 23. Json에서 지정된 요소에 액세스하는 방법
- 24. 배열의 객체 요소에 액세스하는 방법
- 25. FancyBox iframe의 요소에 액세스하는 방법
- 26. tempdata에서 배열 요소에 액세스하는 방법
- 27. UiAutomator. NAF 요소에 액세스하는 방법?
- 28. Python minidom : 요소에 액세스하는 방법
- 29. jquery에서 하위 요소에 액세스하는 방법?
- 30. 조각에서 UI 요소에 액세스하는 방법?
'window.open'등으로 열 었는가? – putvande
간단히 말해서, 당신은하지 않습니다. AFAIK 모든 현대의 브라우저는이를 XSS로 분류하고 다른 창에서 DOM 요소를 조작하려는 시도를 차단합니다. 그러나, window가'window.open'으로 열렸을 때, 같은 도메인 상에있을 가능성이 있습니다. –
지금 내 대답을 확인하면 추가 작업이 어떻게 수행되는지 설명 할 수 있습니다. – Joeytje50