我有以下代码......
$('#item_' + code + ' .delete').hide();
$('#item_' + code + ' .deleting').show();
$('#item_' + code).slideUp(400, function() {
$(this).remove();
$('#top .message').html('Item has been deleted');
});
我想保存我在变量中使用的选择器,并使用它来执行操作,而不是每次都搜索DOM。
所以我像这样保存选择器......
var saved = $('#item_' + code);
但是如何更改代码的其余部分呢?我对jQuery不太熟悉,因此想知道如何做到这一点。这会有用......
$(saved).(' .delete').hide();
$(saved).(' .deleting').hide();
$(saved).slideUp(400, function() {
$(this).remove();
$('#top .message').html('Item has been deleted');
});
答案 0 :(得分:5)
您可以使用find()
:
var saved = $('#item_' + code);
saved.find('.delete, .deleting').hide();
saved.slideUp(400, function() {
$(this).remove();
$('#top .message').html('Item has been deleted');
});
答案 1 :(得分:5)
我会添加另一个替代
$('.delete', saved).hide();
$('.deleting', saved).show()
...
答案 2 :(得分:4)
您可以将其存储在变量中:
var myVar = $('#item_' + code + ' .delete').hide();
然后如果你想添加它只需添加到var:
myVar.css("background","green");
相当于:
$('#item_' + code + ' .delete').hide().css("background","green");
答案 3 :(得分:2)
使用find
或children
方法,您可以将选择器应用于上一个查询的结果。
E.g。
var saved = $('#item_' + code);
saved.find(".delete").hide();
saved.find(".deleting").show();
saved.slideUp(400, function() {
$(this).remove();
$('#top .message').html('Item has been deleted');
});
答案 4 :(得分:-2)
试试这个......
var saved = ('#item_' + code);
$(saved + ' .delete').hide();
$(saved + ' .deleting').show();
$(saved).slideUp(400, function() {
$(this).remove();
$('#top .message').html('Item has been deleted');
});