Drupal jQuery命名空间

时间:2012-04-27 09:00:26

标签: jquery namespaces drupal-7

我可以使用简短方便的美元jQuery表示法我使用以下代码结构:

(function($) {
    $('div#webform-component-team-name').css('background', 'blue');
    alert('testing!');
    console.log('working...!');
})(jQuery);

但是,除了我的alert和console.log语句之外,我发现没有任何作用。这些声明工作正常,但改变背景颜色(或以 $ 开头的任何其他内容)的第二行不会。

1 个答案:

答案 0 :(得分:1)

我相信alert和console.log函数应该在没有jQuery的情况下工作(console.log取决于你的浏览器)。所以我要检查的第一件事是jQuery实际上正在你的页面中加载好,并且在你运行这个匿名函数之前可用。

作为一个有用的旁边,有一个非常好的解释,即使用自动执行函数来命名空间javascript / jQuery here

它扩展了您使用的语法,如下例所示:

(function( skillet, $, undefined ) {
// do stuff here
}( window.skillet = window.skillet || {}, jQuery ));

并展示了如何将函数设为公共和私有。