Динамический идентификатор в JQuery - PullRequest
1 голос
/ 14 сентября 2011
$("#someId_"+someName).css(....);

Это то, что я делаю, чтобы получить div в jquery.Это работает просто отлично, за исключением случаев, когда 'someName' содержит String с несколькими токенами, такими как "Mohammad Adil"

, есть ли другой способ сделать то же самое?

спасибо ..

Ответы [ 3 ]

4 голосов
/ 14 сентября 2011

Не делай этого.В вашем id.

не должно быть пробелов. Кавычки HTML5 spec ( emphasis mine )

Атрибут id определяет егоуникальный идентификатор элемента (ID).Значение должно быть уникальным среди всех идентификаторов в домашнем поддереве элемента и должно содержать хотя бы один символ. Значение не должно содержать пробелов.

3 голосов
/ 14 сентября 2011

Вы не можете иметь пробелы в идентификаторах, поэтому вам придется преобразовать его в тире или что-то, что является действительным someName.Replace(" ","-") - код для преобразования пробела в тире.

Если это не поможет, объясните, пожалуйста, еще. someName - это список имен или это одно имя, которое должно быть идентификатором?

0 голосов
/ 14 сентября 2011

Вы не можете иметь пробелы в ID s, но есть способ выбрать div в любом случае.

$("[id='someId_"+someName+"']")

Я предлагаю вместо пробелов использовать что-то еще, например подчеркивание.

<div id="someId_Mohammad_Adil"></div>

Тогда ваш $("#someId_"+someName) будет работать (пока someName преобразует пробелы в подчеркивания: someName = someName.replace(' ', '_');)

...