Ответ 1
$('button[value="' + x + '"]').hide();
У меня есть:
<button class="Delete" value="1">Delete</button>
<button class="Delete" value="2">Delete</button>
<button class="Delete" value="3">Delete</button>
Указанная переменная X, содержащая значение (в этом случае либо 1, a 2, либо 3), то как скрыть кнопку, соответствующую значению в X?
Я хочу сказать что-то вроде:
$('button').val(x).hide();
Значение: "Кнопка, значение которой равно x, скрыть".
$('button[value="' + x + '"]').hide();
Вы можете написать свой собственный пользовательский селектор (я просто почувствовал, что кто-то должен его упоминать). Может выглядеть так:
(function($) {
$.extend($.expr[':'], {
val: function(elem, i, attr) {
return elem.value === attr[3];
}
});
}(jQuery));
$('button:val(2)').hide();
Вы сделаете это внутри фактического селектора:
$('button[value="foo"]').hide();
Это потребует конкатенации x в xpath, но я не могу сейчас думать о другом.
$(кнопка [value = '1']) скрыть();.
РЕДАКТИРОВАТЬ: удалено @, очевидно, устарело, как и я:)
Вам даже не нужно вручную назначать значения кнопкам:
var i = 0; $('.Delete').attr('value', function() {i++; return ''+i;});
сделает это за вас. Теперь вы подсчитали значения ваших кнопок. Но неважно, (вам даже не нужны значения!) Вы можете скрыть "ЭТО нажав кнопку", выполнив:
$(".Delete").click(function() {
$(this).html("DELETED!").delay(900).slideUp(600).hide();
});
Я добавил немного анимации. Или объедините оба! CIAO:)