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

Должен ли этот элемент помещать элемент в новый элемент td внутри нового элемента tr внутри элемента #ordersList (была ли таблица)?.appendTo и литералы HTML

Потому что я просто получил голый элемент внутри #ordersList без обертывания tr/td.

Этот старый сайт, который я пытался устранить, похоже, использует 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

Что бы работать было бы что-то подобное;

$('<td></td>').appendTo($('<tr></tr>')​​​​​​​​​.appendTo('#ordersList')).append(element); 

... который отстой для удобочитаемости.

+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() возвращает элемент добавляется, так вы можете связать вызовы с элементами гнезда.

Смежные вопросы