querySelectorAll и точка в составе id элемента
Добрый день!
Проблема такая: Надо чтобы в составе идентификатора элемента была точка, например <div id='hello.world'></div> Но querySelectorAll('div#hello.world') тогда не выберет этот элемент, справедливо полагая, что world - это имя класса. При этом w3c позволяет вводить точку в идентификатор: id - Specifies a unique id for an element. Naming rules: Must begin with a letter A-Z or a-z Can be followed by: letters (A-Za-z), digits (0-9), hyphens ("-"), underscores ("_"), colons (":"), and periods (".") Есть ли решение проблемы? |
Экранируйте ее слешами.
<div id="hello.world"></div> <script> alert(document.querySelectorAll('div#hello\\.world').length) </script> P.S. Две шутки нужны для того, чтобы один слеш не потерялся внутри строки. |
Или вот так, если не хочется возиться с экранированием
<div id="hello.world"></div> <script> alert(document.querySelectorAll('div[id="hello.world"]').length) </script> |
B@rmaley.e><e и subzey, спасибо!
Оба способа хороши! |
Часовой пояс GMT +3, время: 00:58. |