2010-08-15 2 views
0

У меня есть простой переменной:Вставить переменную как объект в JQuery

var spanId = 'hi'; 

Теперь я хочу, чтобы генерировать это:

$('#hi') 

используя переменную.

Так что я пробовал:

$('#' + spanId) 

Но это не сработало. Какие-либо предложения?

Спасибо, Amit

+4

Он должен работать. Можете ли вы опубликовать еще какой-нибудь код? Как вы можете сказать, что это не работает? – Kobi

+1

сделать это на domReady. – BGerrissen

+2

Что вы подразумеваете под «generate»? –

ответ

0

обратите внимание, что "+"-sign is a css selector, это может быть проблемой.

__________________ UPDATE __________________

Я быстро проверил его (см http://jsfiddle.net/r7MgY/1496/), кажется, работает.

Код:

HTML (в теле):

<div id="hi">test</div>​ 

CSS:

#hi { 
    width: 100px; 
    height: 100px; 
    background: #ffb; 
    padding: 10px; 
    border: 2px solid #999;​ 
} 

JQuery:

$(function() { 
    var spanId = "hi"; 
    alert($('#' + spanId).css('backgroundColor'));​ 
}); 
+2

Это неправильный ответ. Знак + никогда не вызовет никаких проблем, потому что '#' + spanId вернет строку, которая затем будет передана функции $. $ (запрос) и $ ('#' + spanId) эквивалентны. Должна быть какая-то другая проблема в коде –

+0

Вы правы: я написал, что '+' является селектором css и что это может быть проблемой. Тем временем я проверил его и обновил свой пост, заявив, что это не проблема –

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