2013-03-22 2 views
2

У меня есть список div внутри родительского div, некоторые из которых имеют ID, другие не предназначены (специально), но все они имеют один и тот же класс. Как я могу получить список только разделов, у которых нет идентификатора?jQuery получение всех элементов, не имеющих назначенного идентификатора

<div class='AllQuestions'> 
    <div class='questionList'>Something Something</div> 
    <div class='questionList'>Something Something</div>   
    <div class='questionList' id='question-20'>Something Something</div> 
    <div class='questionList' id='question-22'>Something Something</div>   
    <div class='questionList'>Something Something</div> 
    <div class='questionList' id='question-100'>Something Something</div> 
</div> 

Я знаю, что могу сделать $('.questionList'), чтобы получить список всех дивы, но я не знаю, как отфильтровать те, с идентификатором. (также нельзя уверенно прогнозировать id, поскольку я их произвольно генерирую)

Возможно, один из подходов заключается в том, чтобы как-то удалить те, у которых есть идентификатор?

+4

Вы смотрели на селекторы документации JQuery? http://api.jquery.com/category/selectors/ –

+0

Да, но это не помогло мне с «не id», так как я не очень опытен с ними. Я в значительной степени знаю основы id и класса. – SoluableNonagon

ответ

2

Выберите список, затем исключить те, с атрибутом ID:

$('.questionList').not('[id]') 

Заметим, что это должно быть быстрее, чем положить все в один селектор из-за jQuery sizzle справа налево селектор - и мне проще просмотреть/понять.

+0

Я думаю, что это было самым легким для меня, но все ответы были замечательными. Это работает немного быстрее для моего большого списка. – SoluableNonagon

4

Вы можете использовать $('.AllQuestions .questionList:not([id])'). Это должно работать нормально.

Проверьте эти ссылки:

+0

@Matt Ball был в середине редактирования:;) – 97ldave

+1

Удивительный ответ, очень прямой, не знал, что я мог бы выбрать сразу два класса. – SoluableNonagon

+0

Спасибо за хороший комментарий. В любой момент! – 97ldave

1

Попробуйте это:

var list = $(".questionList:not([id])"); 
+1

Удивительный ответ, это тоже работает. И мне нравится, что не внутри селектора. – SoluableNonagon

+0

@EliteOctagon Мое удовольствие. ура –

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