2011-12-19 6 views
0

본문에서 호출되는 js 파일이 있습니다. jQuery는 IE6, IE8 및 IE7에서는 실행되지 않습니다. 파일 내용은 다음과 같습니다.jQuery가 IE6에서 실행되지 않는 이유

$(document).ready(function(){ 
$('img[src="/v/vspfiles/templates/cyberfront/images/buttons/btn_addtocart_small.gif"]').replaceWith('<br /><span id="blackbutton" class="mediumbutton" style="display:block;">Add to Cart</span>'); 
$('input[src="/v/vspfiles/templates/cyberfront/images/buttons/btn_go_gray.gif"]').replaceWith('<input type="submit" class="graybutton smallbutton" name="Go" alt="Go" value="Go" title="Go">'); 
$('input.previous_page_img').attr({class: 'graybutton mediumbutton', src: '/v/vspfiles/templates/eastcoasttvs/images/buttons/btn_prevpage.png'}); 
$('input.next_page_img').attr({class: 'graybutton mediumbutton', src: '/v/vspfiles/templates/eastcoasttvs/images/buttons/btn_nextpage.png'}); 
$('img[src="/v/vspfiles/templates/cyberfront/images/Bullet_MoreInfo.gif"]').replaceWith('<span class="learnmore">Learn More</span>'); 
$('td[background="/v/vspfiles/templates/cyberfront/images/Divider_Horizontal.gif"]').remove(); 
$('td.v65-productRow-bottom').remove(); 
$('select').wrap('<div class="styled-select" />'); 
}); 

별도의 파일이 아닌 머리에 넣어야합니까? 머리에있는 파일을 불러야할까요? 내 마크 업에 문제가 있습니까?

---- 편집 ----

나는 바이올린을 만들어 내가 그 브라우저에서 작동하지 않습니다 확인했습니다 IE8 IE6, IE7 &에서 테스트. 바이올린은 : 그것은 렌더링하는 경우 당신이하지 않으면 Hllo 안녕하세요라는 한 줄을 볼 수 있는지 확인하는 일 경우 http://jsfiddle.net/2mJWF/

이 제대로이 최종 결과를 알려줄 수

<body> 
<br><span id="blackbutton" class="mediumbutton" style="display:block;">Add to Cart</span> 
<input type="submit" class="graybutton smallbutton" name="Go" alt="Go" value="Go" title="Go"> 
<input type="image" src="/v/vspfiles/templates/eastcoasttvs/images/buttons/btn_prevpage.png" class="graybutton mediumbutton"> 
<input type="image" src="/v/vspfiles/templates/eastcoasttvs/images/buttons/btn_nextpage.png"  class="graybutton mediumbutton"> 
<span class="learnmore">Learn More</span> 
<table> 
<tbody> 
<tr> 
</tr> 
</tbody> 
</table> 
<div class="styled-select"><select> 
<option>Hello</option> 
</select></div> 
</body> 

가장 쉬운 방법 일 것이다 그 라인을 보아라, 그렇지 않으면 그 라인을 보았다.

+1

Yikes. 그것은 선택자의 블록입니다. –

+0

@JaredFarrish 제 소프트웨어가 제대로 설계되지 않았습니다 ... 내 다른 파일을보아야합니다 – henryaaron

+0

IE에서 오류가 발생 했습니까? 아니면 실패한 것입니까? * 실패한 방법은 무엇입니까? 그럼에도 불구하고이 파일을 ''또는 인라인 대 파일 대신 ''에 넣는 것은 아무런 효과가 없습니다. –

답변

0

을 그 바이올린에 JSLint를 확인 후, 클래스의 속성을 설정 발견하는 것은 그래서 .addClass에 변경이 유효하지 않습니다. 내 업데이트 된 바이올린 : http://jsfiddle.net/2mJWF/4/.

0

인용 부호가없는 속성 이름으로 class 인 객체 리터럴이 있습니다. IE는 class이 자바 스크립트의 예약어 (for future use)임을 감안하지 않을 수 있습니다. (단일 또는 이중 괜찮) 따옴표에 넣어 시도 :

// instead of 
{class : "something"} 
// try 
{"class" : "something"} 


... 
$('input.previous_page_img').attr({"class": 'graybutton mediumbutton', src: '/v/vspfiles/templates/eastcoasttvs/images/buttons/btn_prevpage.png'}); 

$('input.next_page_img').attr({"class": 'graybutton mediumbutton', src: '/v/vspfiles/templates/eastcoasttvs/images/buttons/btn_nextpage.png'}); 
... 

http://jsfiddle.net/2mJWF/3/

+0

코드에 답을 적어주세요. JSFiddle이 다운되면 어떻게 될까요? –

+0

@AndrewWhitaker - 완료. (실제로 소개 단락은 필요한 모든 정보 였지만 OP가 나를 업데이트하기 위해 JSFiddle을 포함하지 않았다면 걱정할 필요가 없었습니다.) – nnnnnn

+0

P. IE7에서 원래 JSFiddle을 시도했을 때 "Hllo Hello"가 작동하지 않는다는 것을 알았습니다. 내 답변 및 인용 된 바이올린에 따라 따옴표를 추가 한 후에는 더 이상 "Hllo Hello"가 표시되지 않으므로 작동한다는 것을 가정합니다. – nnnnnn

관련 문제