Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   почему, если id начинается с цифры selector не работает? (https://javascript.ru/forum/events/80559-pochemu-esli-id-nachinaetsya-s-cifry-selector-ne-rabotaet.html)

sovsem-nub 21.06.2020 09:20

почему, если id начинается с цифры selector не работает?
 
так работает
<tw class="col-4 simpleCart_shelfItem" id="a10000000541"><span class="item_price" itemprop="price">48</span></tw>

<script>
alert(document.querySelector('#a10000000541 .item_price').innerHTML)
</script>


так нет

<tw class="col-4 simpleCart_shelfItem" id="10000000541"><span class="item_price" itemprop="price">48</span></tw>

<script>
alert(document.querySelector('#10000000541 .item_price').innerHTML)
</script>




так работает

<tw class="col-4 simpleCart_shelfItem" id="10000000541"><span class="item_price" itemprop="price">48</span></tw>

<script>
alert(document.getElementById('10000000541').querySelector('.item_price').innerHTML)
</script>


есть какие-то правила это запрещающие?

рони 21.06.2020 09:48

sovsem-nub,
Цитата:

В HTML4 идентификатор не должен начинаться с цифры и содержать другие символы, кроме дефиса, подчёркивания и точки. Придерживайтесь этих правил, если вам требуется взаимодействие идентификаторов с JavaScript или совместимость со старыми браузерами.

рони 21.06.2020 10:24

sovsem-nub,
<tw class="col-4 simpleCart_shelfItem" id="10000000541"><span class="item_price" itemprop="price">48</span></tw>

<script>
alert(document.querySelector('[id="10000000541"] .item_price').innerHTML)
</script>


Часовой пояс GMT +3, время: 17:04.