62

I have this selector below where it ignores any li with the class show-all-boxes

$('.boxes li:not([class="show-all-boxes"]) input:checkbox')

What is the best way of adding multiple classes to be ignored by the selector? An example of this that I thought would work but it doesn't is:

$('.boxes li:not([class="show-all-boxes, show-all-circles, show-all-triangles"]) input:checkbox')
Christofer Eliasson
  • 31,342
  • 6
  • 71
  • 100
Cecil Theodore
  • 8,949
  • 10
  • 28
  • 37

2 Answers2

109

The :not selector can take multiple CSS selectors as arguments ( http://api.jquery.com/not-selector ). E.g.

$('div:not(.a,.b)').empty()

http://jsfiddle.net/HFfcP/

Thong Kuah
  • 3,183
  • 2
  • 17
  • 29
  • no problem Cecil. btw, your second code was not working because it seems to trying to match on all `li`s that do not have the class "show-all-boxes, show-all-circles, show-all-triangles" (commas and all). http://jsfiddle.net/56uKS/ – Thong Kuah Jan 02 '12 at 10:10
6

try this :

$('.boxes li').not(".show-all-boxes, .show-all-circles, .show-all-triangles").find('input:checkbox')
redmoon7777
  • 4,378
  • 1
  • 23
  • 25