2013-08-09 3 views
0

Мне нужно добавить объект DOM, но я заранее не знаю, какой именно объект (в зависимости от того, что пользователь выбирает в пользовательском интерфейсе). Поэтому я должен генерировать идентификатор динамически, а затем добавлять, но я изо всех сил пытаюсь найти способ сделать это.Добавление к переменной/объекту JQuery

Например, для добавления в таблицу с идентификатором my-table-13 Я хотел бы сделать что-то вроде этого:

var $Table = 'my-table-' + value; 

$(Table) 
    .append($("<tr>") 
     .attr('id','my-row')); 

Я пробовал варианты вставки скобок и # 'S на первой линии - но никакого успеха. Это возможно?

+3

Если переменная '$ Table' то JQuery будет начинаться с' $ ($ Таблица) ', а не' $ (Таблица) '. – j08691

ответ

1
var table = '#my-table-' + value; // or '.my-table-' 

, а затем

$(table)..... 

$Table является допустимым именем переменной в JavaScript, так и $TableTable используется в $(Table) различны. Вы на самом деле пытались использовать $(undefined) ...

Использование чего-то вроде $($Table) работает, но считается плохим синтаксисом.

+0

, если переменная таблицы является идентификатором, обязательно добавьте '#' в селектор. '# my-table-' + значение – DrewG

+0

@DrewG вы правы! fixed :) –

+0

Оба ответа показывают действительные решения, за которые я благодарен, - давая это голосование за несколько более подробную информацию. – Locotes

0

Вам нужен #, чтобы захватить идентификатор, а также ссылки на $Table не Table

var $Table = 'my-table-' + value; 

$("#" + $Table) 
    .append($("<tr>") 
     .attr('id','my-row')); 
Смежные вопросы