2017-05-20 2 views
1

값을 스킵 루프 :중첩 각() I 5 개 값과 같이 로컬 스토리지에 저장되어있는

localStorage.setItem (중형 0 _highscore ''Test_user, 99999, 99:59, 9 ") ; localstorage.setItem ('medium _highscore', "Test_user1, 99999, 99:59, 9");

다음 코드를 사용하여 테이블에 추가하려고 메신저 :

$('#medium tr').each(function(k) { 
    var info2 = localStorage.getItem("medium" + k + "_highscore"); 
    var t_info2 = info2.split(","); 
    $(this).find('td').each(function(j) { 
     $(this).html(t_info2[j]); 
    }); 
    }); 

내 문제가 저장된 첫번째 값이 생략되고, 나는 이유를 찾기 위해 경고의 무리를 포함하고 내가 그 발견 첫 번째 각 루프의 인덱스 "k"는 var t_info2 = info2.split(","); 행이 실행 된 직후 1로 건너 뛰어 다음 코드를 무시합니다.

메신저는 정말 간단하지만 그것을 보지 못했습니다.

+0

은 코드 작동처럼 보입니다. 어쩌면 당신의 localstorage에 문제가있을 수 있습니다. https://codepen.io/anon/pen/YVRxqB?editors=1010 –

+0

네가 옳은 것처럼 보이는데, 나는 그것이 무엇인지 전혀 모른다. –

답변

1

테이블의 첫 번째 문자가 이고 헤더 행이 <th> 태그입니까? 그렇다면 $('#medium tr') 대신 $('#medium tr:has(td)')을 사용해보세요.

당신이 묘사하는 행동으로, 그것은 유일한 가능성입니다. 첫 번째 반복은 태그가 없기 때문에이 행에 있습니다. 코드 후 var t_info2 = info2.split(",");은 아무 작업도 수행하지 않습니다.

+1

정확히 그랬습니다! 저장해 주셔서 감사합니다. –

+1

'$ ('# medium'). find ('tr : has (td)')'를 사용하면 엔진을 파싱 할 수있는 권리가 있습니다. –

관련 문제