Сейчас я тренирую свои навыки 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/
Вы можете попытаться использовать : 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
. Вы не нуждаетесь в этом здесь в своем селекторе.
Я бы подумал, что селектор атрибутов, объединенный с not()
будет работать в этом случае:
$('div:not([class$=clicked]);
Это выбирает элементы, имеющие значение класса, которое заканчивается нажатием 'clicked'. Конечно, осложнения возникают в случаях, когда элемент имеет более одного класса.
Как указывает Арун ниже, селектор Содержит Word может быть лучше подходит:
$('div:not([class~=clicked]);
&&
неand