точка jQuery в селекторе ID? [дубликат]
Возможные Дубликаты:
Как выбрать html-узлы по идентификатору с помощью jquery, когда идентификатор содержит точку?
у меня есть сайт, который содержит элементы, похожие на этот:
<p id="root.SomeCoolThing">Some Cool Thing</p>
Я не могу выбрать абзац с jQuery, как $('#root.SomeCoolThing') потому что jQuery думает, SomeCoolThing - это класс элемента с id="root".
как я могу выбрать этот элемент с помощью jQuery? Я хотел бы избежать конструкция такая:
$(document.getElementById('root.SomeCoolThing'))
6 ответов:
используйте правила экранирования из jQuery селекторы API следующим образом:
$('#root\.SomeCoolThing')С docs:
для использования любого из мета-символов (например
!"#$%&'()*+,./:;<=>?@[\]^`{|}~) как литеральная часть имени, он должен можно убежать с двумя обратными косыми чертами:\. Например, элемент сid="foo.bar", можно использовать селектор$("#foo\.bar").
вам нужно избежать специальных символов:
$('#root\.SomeCoolThing')Если вы хотите использовать любой из мета-символов ( например,!"#$%&'()*+,./:;?@[]^`{|}~) как литеральная часть имени, вы должны экранировать символ с двумя обратными косыми чертами: \\. Например, если у вас есть элемент id= " foo.бар", вы можете использовать селектор $("#foo\\.бар.)"
вы можете избежать периода, используя что-то вроде этого
$("#root\.SomeCoolThing")как я могу получить jQuery для выбора элементов . (точка) в их ID? http://groups.google.com/group/jquery-en/browse_thread/thread/ba072168939b245a?pli=1
стрельба от бедра, но если вы не можете изменить идентификатор элемента, попробуйте использовать этот селектор:
$("p[id=root.SomeCoolThing]")
Comments