如何使用'this'jquery生成复杂选择器
我有一个事件处理程序,它需要根据一些保存的数据对它的一个子项执行某些操作。所以我现在做的是这样的:如何使用'this'jquery生成复杂选择器,jquery,Jquery,我有一个事件处理程序,它需要根据一些保存的数据对它的一个子项执行某些操作。所以我现在做的是这样的: // Get the ID of 'this' item_id = $(this).attr('id'); // building a selector like $('#item1 .child_3') $('#' + item_id + ' .child_' + spVal).addClass('blah'); $(this).find('.child_' + spVal).addClas
// Get the ID of 'this'
item_id = $(this).attr('id');
// building a selector like $('#item1 .child_3')
$('#' + item_id + ' .child_' + spVal).addClass('blah');
$(this).find('.child_' + spVal).addClass('blah');
但这似乎有点麻烦。我试过:
$(this + ' .child_' + spVal).addClass('blah');
它不起作用,这并不让我感到惊讶。有没有比我上面介绍的成功方法更好的方法呢?您也可以这样选择孩子:
$(this).children('.child_' + spVal).addClass('blah');
您也可以像这样选择子项:
$(this).children('.child_' + spVal).addClass('blah');
您可以使用任何子代,也可以仅使用直接子代,如下所示:
// Get the ID of 'this'
item_id = $(this).attr('id');
// building a selector like $('#item1 .child_3')
$('#' + item_id + ' .child_' + spVal).addClass('blah');
$(this).find('.child_' + spVal).addClass('blah');
.find等同于您当前拥有的内容,.children等同于以下内容:
$('#' + item_id + ' > .child_' + spVal).addClass('blah');
您可以使用任何子代,也可以仅使用直接子代,如下所示:
// Get the ID of 'this'
item_id = $(this).attr('id');
// building a selector like $('#item1 .child_3')
$('#' + item_id + ' .child_' + spVal).addClass('blah');
$(this).find('.child_' + spVal).addClass('blah');
.find等同于您当前拥有的内容,.children等同于以下内容:
$('#' + item_id + ' > .child_' + spVal).addClass('blah');
我从来没有理由使用。查找之前-感谢新玩具:-我从来没有理由使用。查找之前-感谢新玩具:-