我有一系列通过Javascript嵌入各种页面的应用程序,因此重要的是尽可能谨慎地构建选择器,无意中在父页面上选择了一些内容。 (我有超过父标记没有控制,和iframe中是不是一种选择。)将jQuery选择器限制到某个元素的子元素
所有.noConflict()
模式使用jQuery父页面,和我的应用程序一直过着div
内带班my_app_class
(function($) {
var el = $(".my_app_class"); //my code
}(window.jQuery));
尽管我总是记得在“my_app_class”前加上我的jQ选择器,但如果在$
中隐含这个选项,我会感觉更舒服。从本质上讲,我想:
$(".headline")
要始终等于:
$(el).find(".headline")
用简单的方式来做到这一点会是这样的:
$ = function(selector) {
return jQuery(el).find(selector);
}
但我想保持一个超功能的情况下,我确实需要在父页面上进行选择(这种情况不时发生)。我也不想覆盖像$.ajax
这样的jQuery的其他用途。
什么是最好的是别名功能和保持原来的?我想要这样的东西
(new $) = selection inside `.my_app_class`
($$) = (old $)
谢谢!
看看这里;看起来像或多或少你的同一个问题:http://stackoverflow.com/questions/3690447/override-default-jquery-selector-context –