让我明白这行代码现在可行。我觉得它的写作很愚蠢。你知道一种更清晰的写作方式吗:
$('#'+this.wrapper.id+' .nub').foo();
我通过jspref.com运行了答案,结果如下: http://jsperf.com/jquery-selector-context-test
看起来.find
是赢家。至少镀铬。
答案 0 :(得分:4)
$('.nub', this.wrapper).foo();
答案 1 :(得分:2)
您可以使用this.wrapper
作为选择器的上下文。
$('.nub', this.wrapper).foo();
或
$(this.wrapper).find('.nub').foo();
答案 2 :(得分:1)
实际上并不是那么糟糕。如果您愿意,可以将选择器字符串放入其自己的变量中,但是:
var selectorString = "#" + this.wrapper.id + " .nub";
$(selectorString).foo();
答案 3 :(得分:1)
$(this.wrapper).find('.nub').bar();