2010-10-15 4 views
1
var $name = ('div#amuchlongername'); 

    $('#wrapper').prepend('<div id="$name"></div>'); 

Очевидно, что я знаю, что этот код неправильный lol, но я довольно хорошо знаком с jQuery, и я не могу ничего найти об этом.jquery variable как div ID или класс

Как можно было бы получить имя переменной внутри идентификатора div?

ответ

1

Вы бы сделали это так же, как обычный JavaScript (так как это просто строка, переданная jQuery).

var name = 'amuchlongername' 
$('#wrapper').prepend('<div id="' + name + '"></div>'); 

name просто нормальная переменная JavaScript и может быть что угодно. $ является псевдонимом для jQuery. Когда вы делаете $('#wrapper'), вы вызываете jQuery для доступа к элементу с идентификатором wrapper.

Я сделал jsFiddle, чтобы показать его рабочий: http://jsfiddle.net/Xs45x/1/ Я только что обновил его, чтобы поместить переменную в div тоже, чтобы вы могли видеть, что он делает.

+0

Я не тестировал его, но, похоже, имеет смысл. Поэтому вам не нужен (''); для переменных либо тогда? – Daryl

+0

Это правильно. Я добавил немного больше объяснений для вас. –

+0

Идеально, имеет смысл сейчас. Это всегда самая простая вещь, ха-ха. Я доберусь туда, в конце. =] – Daryl

0

я не являюсь экспертом JS, но попробовать

var $name = ('div#amuchlongername'); 

('#wrapper').prepend('<div id="' + $name + '"></div>'); 

также я не думаю, что вам нужен знак $ для переменных. Возможно, будет ошибкой

+0

Вы правы. В JavaScript вам не нужно иметь $ для имен переменных. Однако для доступа к элементу с помощью jQuery (обычно с помощью $) вам понадобится $ на бите ('#wrapper'), то есть $ ('# wrapper') –

+2

Использование $ variablename - это просто соглашение при работе с Объекты jQuery - и хороший IMO. – Jamiec

+0

+1 Не конвенция, о которой я знал, но это имеет смысл для объектов jQuery - спасибо. Однако в этом случае переменная является обычной строкой. –

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