2012-04-20 3 views
0
element.appendTo('<td>').appendTo('<tr>').appendTo('#ordersList') 

#ordersList 요소 (테이블) 안에 새 tr 요소 안에 새 td 요소 안에 요소를 넣어야합니까?.appendTo 및 HTML 리터럴

나는 tr/td를 래핑하지 않고 #ordersList 내부의 알몸 요소를 가져오고 있었기 때문에.

문제를 해결하려고했던이 이전 사이트는 jQuery 1.4.1을 사용하고있는 것 같습니다. 알려진 버그 일 경우입니다.

+1

그렇게하려는 것 같습니다. 나는 그것이 실제로 무엇이든 (그것을 시도하는 도중에서) 실제로하는지 보는 것에 흥미가있을 것이다. $ (') .append ($ (' ') .append (element)). appendTo ('# ordersList ')는 인간이 읽을 수 있고 기능적 일 것입니다. – Kato

+0

@Kato 테이블을 제거하고 인생을 시작하면서 결국이 코드가 렌더링 된 이유 (테이블에서 쓰레기의 브라우저 용서)와 원래 코더의 의도가 무엇인지 이해하려고 시도했습니다. –

+0

저도 요. 나는 바이올린 동안 대답을 먹어 치우고 일을 끝내지 않고있다. 저는 이것이 이것을 기록한 사람과 우리 사이의 차이라고 생각합니다. 우리는 무엇이 그것을 똑딱 거리게하는지 알고 싶다. 그들은 표면 상으로는 그들이 쓴 것이 달릴지를 알고 싶지 않았습니다! ;) – Kato

답변

3

appendTo()은 작업중인 요소를 반환하므로 무엇이 you're actually doing입니까?

  1. 새로 만든 td에 요소를 추가하는 중입니다.
  2. td에서 요소를 분리하여 새로 만든 tr에 추가합니다.
  3. tr에서 그것을 분리하고 #ordersList에 부착

어떻게 이런 일이 될 것이다 일 것이다;

... 가독성을 위해 ....

+0

나는 이제 이해한다. 외부 테이블을 사용하지 않음으로써 청소하고 이동했습니다. –

1

코드 감소를위한 도우미가 좋은 비록 당신은 항상이 같은 간단한 것들에 대한 네이티브 API를 사용할 수 있습니다 ...

function create(type) { return document.createElement(type); } 
function byId(id) { return document.getElementById(id); } 

byId('ordersList') 
    .appendChild(create('tr')) 
    .appendChild(create('td')) 
    .appendChild(element); 

.appendChild() 네이티브 때문에, 추가 된 요소를 반환 네스트 요소를 호출 할 수 있습니다.