让我清楚这行代码现在工作。我只是觉得它写的愚蠢。你知道写这个清洁方法:更好的jQuery选择器
$('#'+this.wrapper.id+' .nub').foo();
我跑通过jspref.com的答案,这里的结果: http://jsperf.com/jquery-selector-context-test
貌似.find
是赢家。至少在镀铬。
让我清楚这行代码现在工作。我只是觉得它写的愚蠢。你知道写这个清洁方法:更好的jQuery选择器
$('#'+this.wrapper.id+' .nub').foo();
我跑通过jspref.com的答案,这里的结果: http://jsperf.com/jquery-selector-context-test
貌似.find
是赢家。至少在镀铬。
$(this.wrapper).find('.nub').bar();
根据基准测试的最佳答案。你在xdazz之前回答了这个建议 – Fresheyeball 2012-08-10 05:04:30
实际上并不是那么糟糕。如果你愿意,你可以把选择串入其自己的变量,虽然:
var selectorString = "#" + this.wrapper.id + " .nub";
$(selectorString).foo();
恩,这基本上是一样的。真的,我已经将部分选择作为dom元素,应该能够以某种方式利用它。 – Fresheyeball 2012-08-10 04:39:29
@Fresheyeball - 好吧,没有什么需要改进的地方。它只是唯一的代码行。说实话,我认为你目前的解决方案没有任何问题。 – jeff 2012-08-10 04:41:21
那么,我想知道做这个E-V-E-R的最好方法!它只是一条线,但我将不得不经常使用类似的选择器。它值得了解正确的方式。 – Fresheyeball 2012-08-10 04:43:18
$('.nub', this.wrapper).foo();
您可以使用this.wrapper
作为选择的情况下。
$('.nub', this.wrapper).foo();
或
$(this.wrapper).find('.nub').foo();
人谁downvote,不发表意见是比希特勒更坏,更糟的是我说的! – Fresheyeball 2012-08-10 04:41:25
我已经得到了一些伟大和非常有效的答案已经家伙,来与所有downvotes。即使在微不足道的情况下,也不希望更好地编写代码。 – Fresheyeball 2012-08-10 04:46:36
这不是一个坏问题,你是对的。 – undefined 2012-08-10 04:51:34