Firefox와 Chrome에서는 완벽하게 작동하지만 IE에서는 작동하지 않는 코드로 인해 식별 할 수없는 문제가 있습니다. 내가 요소 표시 여부 저장하는 jQuery를 쿠키를 만들려고하고jQuery 코드는 Firefox에서 작동하지만 IE에서는 오류가 발생합니다.
<tbody id="tbod161-1__" isloaded="true" style="display: none;"></tbody>
<tbody id="tbod162-2__" isloaded="true"></tbody>
:
나는 다음과 같은 요소의 순서가 있습니다.
string = $.cookie("itemListState");
alert(string);
이 ... 모든 ID가 값이 잘못 쿠키에 기록 된 의미, IE에서 "true"로 설정됩니다
function RememberClickedState() {
$('.ms-listviewtable tbody[id^="tbod"]').each(function(){
tid = $(this).attr('id');
var tvisible = ($(this).attr('style') == undefined || $(this).attr('style').indexOf('display: none;') == -1);
var strVisible;
if(tvisible == true)
{
strVisible = "true";
}
if(tvisible == false)
{
strVisible = "false";
}
items += tid+':'+strVisible+';'
})
$.cookie("itemListState", items);
}
내가 가진 값을 검색합니다. 그러나이 코드는 일부 ID가 올바르게 false로 설정된 Ff/Chrome에서 실행될 때 완벽하게 작동합니다.
무엇이 누락 되었습니까? 감사합니다,
jQuery를 사용하면 그냥 $ (이)'말할 수있다. is (': visible')'... 또한 boolean을 문자열로 변환하기 위해'if/else'가 필요하지 않습니다. 단지 문자열 연결 표현식에서 직접 사용하십시오. – Pointy
"style"속성의 값을 읽는 대신 $ (this) .css ('display') == 'none'을 확인하십시오. – sgress454