селектор в сочетании с функцией hasclass () [duplicate]

0

Сейчас я тренирую свои навыки JS и JQuery.

var clickcheckboxcount=0; 
var clickedcheckboxname = new Array();
var clickedcheckboxvalue = new Array();
$("#input[type=checkbox]").click(function(){
    if ($('div:not([class~=clicked])'){
    $(this).addClass(clickcheckboxcount+'clicked');
    clickedcheckboxname.push($(this).attr("name"));
    clickedcheckboxvalue.push($(this).val());
    clickedcheckboxcount+=1;
}

есть флажок serval с другим именем и значением в части тела HTML. Я просто хочу получить их attr и имя, щелкнув их и не хочу нажимать одинаковое значение в массиве. Итак, как я могу переписать if() функцию.

Я поместил демо-версию своих кодов в http://jsfiddle.net/Lza2L/

  • 0
    Что ты пытаешься сделать
  • 2
    также оператор и && не and
Показать ещё 10 комментариев
Теги:
class
selector

2 ответа

1
Лучший ответ

Вы можете попытаться использовать : not selector:

$('div:not(.0clicked,.1clicked,.2clicked,.3clicked,.5clicked,.5clicked)')

или is():

if (!$(this).is(".0clicked, 1clicked, 2clicked, 3clicked, 4clicked, 5clicked"))) {  
    // Your code here
}

1) Вам нужно включить jQuery в свою скрипку

2) Измените #input[type=checkbox] чтобы input[type=checkbox]. # используется для целевого id. Вы не нуждаетесь в этом здесь в своем селекторе.

Обновленный скрипт

  • 0
    не работает ... я не знаю почему
  • 0
    Проверьте мое обновление :)
0

Я бы подумал, что селектор атрибутов, объединенный с not() будет работать в этом случае:

$('div:not([class$=clicked]);

Это выбирает элементы, имеющие значение класса, которое заканчивается нажатием 'clicked'. Конечно, осложнения возникают в случаях, когда элемент имеет более одного класса.

Как указывает Арун ниже, селектор Содержит Word может быть лучше подходит:

$('div:not([class~=clicked]);
  • 0
    Вы можете использовать селектор слов содержит вместо заканчивается селектором
  • 0
    Верно, но я не был уверен, как это будет обрабатывать пробелы, например, между значениями классов.
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню