| 제목 | SCRIPT5007: 정의되지 않음 또는 null 참조인 display 속성을 가져올 수 없습니다. ?? | ||
|---|---|---|---|
| 글쓴이 | 람이 | 작성시각 | 2014/07/18 10:10:07 |
|
|
|||
|
IE9 에서만 저 오류가 발생하고 동작하지 않습니다. 구글 검색한 결과 이부분을 수정하래서 해 봐도 동일하구요.
자바스크립트 소스
function fnListTabMenuCart3(cs, pid, cid, n, obj){
var node = $('.'+ cs + ' > ul > li').size();
//alert(n);
for ( i=1; i<=node; i++){
$('#'+ pid + i).attr('class', '');
$('#'+ cid + i).attr('style', 'display:none');
}
$('#'+ pid + n).attr('class', 'on');
if(eval(obj+".style.display == 'block'")) {
if( lay_chenk != n && n < 3) {
if(lay_chenk > 0) {
$('#'+ cid + lay_chenk).attr('style', 'display:none');
}
eval(obj + ".style.display='block';");
$('#'+ cid + n).attr('style', 'display:block');
lay_chenk = n;
} else {
eval(obj + ".style.display='none';");
for ( i = 1; i < node; i++){
$('#'+ pid + i).attr('class', '');
}
$('#'+ cid + n).attr('style', 'display:none');
lay_chenk = 0;
}
} else if(eval(obj +".style.display == 'none'")) {
eval(obj + ".style.display='block';");
$('#'+ cid + n).attr('style', 'display:block');
lay_chenk = n;
}
}
호출하는 부분
<li class="cart_tab_tit02"><a href="#cart_tab_tit2" onclick="fnListTabMenuCart2('new_cart_tabmenu', 'cart_tab', 'cart_tab_tit', 2, 'ShopViewCart')" id="cart_tab2"><span>옵션선택하기1</span></a></li>
호출 후 레이어 띄우는 부분
<div id="ShopViewCart" style="display:none;">
<div class="new_cart_tab_wrap" id="cart_tab_tit1" style="display:none;" >
<div class="new_cart_tab01">
<ul class="ct_title" style="overflow-y:auto;overflow-x:hidden;height:300px">
<li class="cfirst">상품명</li>
<li>옵션</li>
<li>수량</li>
<li>합계</li>
위 소스가 다른 익스 버전에서는 상관이 없는데 유독 익스9 에서만 버튼을 클릭하면 굵게 표시한 부분에서 다음과 같은 오류가 발생 합니다.
SCRIPT5007: 정의되지 않음 또는 null 참조인 'display' 속성을 가져올 수 없습니다.
구글에서 검색해 보니
<meta http-equiv="X-UA-Compatible" content="IE=edge" /> 이부분을 수정하라던데 수정해도 안되더군요..
위와 같은 오류는 어떻게 해결해야 하나요 ?
문제가 되는 소스 부분인데요...eval(obj+".style.display == 'block'" 이 부분들이 모두 익스9에서만 에러가 발생하네요. 익스7,8,10,11, 크롬, 파폭에서는 이상이 없는데 ㅠ.ㅜ 혹시 어떻게 수정해야 할지 아시는 분 ???? 도와 주세요 ㅠ.ㅜ |
|||
| 다음글 | jquery 초보 질문 부탁드립니다. (2) | ||
| 이전글 | view페이지에서 페이지데이터갱신 (1) | ||
|
letsgolee
/
2014/07/18 21:19:10 /
추천
0
|
obj는 div의 id이므로 $('#'.obj)를 사용하세요. 그러면 $('#'.obj).css('display') == 'none'이라면 $('#'.obj).show()를 쓴다든지 할 수 있습니다.