-1

让我明确一下,这行代码现在可以工作。我只是觉得它写得很愚蠢。你知道写这个的更简洁的方法:

 $('#'+this.wrapper.id+' .nub').foo();

我通过 jspref.com 运行了答案,结果如下:http: //jsperf.com/jquery-selector-context-test

看起来.find是赢家。至少镀铬。

4

4 回答 4

4
$('.nub', this.wrapper).foo();
于 2012-08-10T04:41:33.720 回答
2

您可以this.wrapper用作选择器的上下文。

$('.nub', this.wrapper).foo();

或者

$(this.wrapper).find('.nub').foo();
于 2012-08-10T04:43:00.500 回答
1

实际上并没有那么糟糕。如果你愿意,你可以将选择器字符串放入它自己的变量中,不过:

var selectorString = "#" + this.wrapper.id + " .nub";
$(selectorString).foo();
于 2012-08-10T04:38:17.693 回答
1
 $(this.wrapper).find('.nub').bar();
于 2012-08-10T04:43:03.530 回答