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, время: 17:49. |