jquery코드최적화(html[++h]) onclick안먹히는현상..도와주세요ㅠ

jquery코드최적화(html[++h]) onclick안먹히는현상..도와주세요ㅠ

QA

jquery코드최적화(html[++h]) onclick안먹히는현상..도와주세요ㅠ

본문

ajax로 통신해서 동적으로 생성하는문제에 속도를 높이고자 아래소스를 참고하여 html[++h]로

작업하였습니다.

그러나 onclick이 먹질 않네요..

에러내용은 아래와같습니다

 

Error: Syntax error, unrecognized expression: .html[++h]
    at Function.nt.error 

..문법상 아무른 문제가 없는데 ㅠ 뭐가문제일까요..ㅜ 도와주십쇼..

 

var html = [], h = -1;

html[++h] = '<table>';

html[++h] = '<tbody>';

for( var name, i = -1; name = names[++i]; )

{

html[++h] = '<tr><td onclick="shopmove('+wr_id+')">';

html[++h] = name.first;

html[++h] = ' ';

html[++h] = name.last;

html[++h] = '</td><td>';

html[++h] = name.street;

html[++h] = ' ';

html[++h] = '</td></tr>';

}

html[++h] = '</tbody>';

html[++h] = '</table>';


출처: https://kimyhcj.tistory.com/101 [기억과 기록]

이 질문에 댓글 쓰기 :

답변 2

전부다 이렇게 하면 계속 치환 되잖아요 

html[h++] =

처음꺼만 그렇게 쓰고 뒤에는 html[h++] += 로 바꾸셔야죠

 

그리고 h++ 만 하면 h 값은 여전히 초기값이잖아요 i++ 도 그렇구요

중간에 h = h+1 이 필요하고 for 문에 i++ 도 i=i++ 로 바꿔야죠

 

i, h 가 거의같은 값인건 같은데 코드가 좀 이상합니다.

제가볼땐  왜 저 문장을 배열형태로 증가시켜서 넣는지 이해를 못하겠습니다.

출력은 어떻게 하시려고..?

 

제 생각엔..


var str = '';
str +=  '<table>';
str +=  '<tbody>';
for( var name, i = -1; name = names[++i]; )
{
    str +=  '<tr><td onclick="shopmove('+wr_id+')">';
    str +=  name.first;
    str +=  ' ';
    str +=  name.last;
    str +=  '</td><td>';
    str +=  name.street;
    str +=  ' ';
    str +=  '</td></tr>';
}
str +=  '</tbody>';
str +=  '</table>';

가 더 나아보이는 방법같은데요

 

그래도 for문장의

name = names[++i];

 

이문장에서 어떤값들이 names에 있는지가 애매합니다.

 

답변을 작성하시기 전에 로그인 해주세요.
전체 87
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT