Drupal jQuery命名空间

问题描述 投票:0回答:1

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

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

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

jquery namespaces drupal-7
1个回答
1
投票

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

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

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

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

并展示了如何使函数公开和私有。

© www.soinside.com 2019 - 2024. All rights reserved.