2015-04-21 4 views
0

Я хочу выбрать первый id, который имеет класс a.Пробовал использовать querySelectorAll, но не удалось

<li class="a" id="1">1</li> 
<li class="a" id="2">2</li> 
<li class="a" id="3">3</li> 
var c = document.querySelectorAll(".a#1"); 
c.remove(); 

Я использую querySelectorAll, но он получил ошибку

Uncaught SyntaxError: Failed to execute 'querySelectorAll' on 'Document': '.a #1' is not a valid selector. 

Я знаю, в JQuery это делается как $('.a#1').remove() и он будет работать , но я использую зепто, так что я должны разобраться в чистых js.

+0

Удалить пространство между классом и id'document.querySelectorAll ("# 1.а"); ' –

+4

Из чистого интереса, почему' querySelectorAll (»в # 3. «);'? У вас есть 'id', который * должен * быть уникальным, поэтому вы не могли бы просто использовать (гораздо более прямой)' getElementById ("3"); '? –

+0

@AdamKewley У меня есть другой идентификатор на одной странице для других элементов. –

ответ

1

Id имя с номером не действует, но вы можете запросить, как показано ниже

document.querySelector('.a#\\31'); 

Если первый символ идентификатора является числовым, вам нужно побеге он основан на его коде Unicode точка. Например, кодовая точка для символа 1 равна U + 0031, поэтому вы можете избежать ее как \ 000031 или \ 31.

Для получения дополнительной информации см это Using querySelector with IDs that are numbers

+0

wow! спасибо помощнику, узнал что-то сегодня! –

Смежные вопросы