내가 작업하고있는 기존 사이트가 있으며 특정 링크를 클릭 할 때 로고 이미지를 교체해야합니다. 이것은 파이어 폭스와 크롬 모두에서 작동하지만 IE에서는 작동하지 않습니다.jQuery 선택기가 IE에서만 작동하지 않습니다.
문제의 복잡성을 추가하려면 스크립트가 포함 된 페이지가 세 개의 프레임 세트 내에 중첩됩니다. 링크는 스크립트와 동일한 프레임 세트에 있지만 로고는 맨 위 프레임에 있습니다.
$('a.reset-logo').click(function() {
var img = '../images/img1.gif';
var $img = $('img.header-image', window.parent.top.frames[0].document);
//testing
//shows the correct src in chrome/firefox -- undefined in IE
//alert($img.attr('src'));
$img.attr('src', img);
});
예, 프레임 사용을 유지해야합니다. 이것은 재 작성이 아니라 유지 관리 문제입니다. 나는 너무 오랫동안 이것에 벽에 나의 머리를 세게 치고 있었다.
나는 window.top.frames [0] .document로 컨텍스트를 변경해 보았습니다. 문제는 선택자 안에 있으며, 나는 그것이 무엇인지 정확하게 지적하지 못합니다.
어떤 버전의 IE입니까? – Kpower
이것은 IE 8.0+에만 해당합니다. – jsmith