我有一个事件处理程序,需要根据一些保存的数据对其中一个子进行操作。所以我现在正在做的是这样的事情:
// Get the ID of 'this'
item_id = $(this).attr('id');
// building a selector like $('#item1 .child_3')
$('#' + item_id + ' .child_' + spVal).addClass('blah');
但这看起来有点麻烦。我试过了:
$(this + ' .child_' + spVal).addClass('blah');
它不起作用,这并不让我感到惊讶。有没有更好的方法来做到这一点,然后我上面概述的成功方式?
答案 0 :(得分:4)
您可以使用.find()
(任何后代)或.children()
(仅限直接子女),如下所示:
$(this).find('.child_' + spVal).addClass('blah');
.find()
相当于您目前拥有的内容,.children()
等同于此:
$('#' + item_id + ' > .child_' + spVal).addClass('blah');
答案 1 :(得分:2)
你也可以选择这样的孩子:
$(this).children('.child_' + spVal).addClass('blah');