2

私は非常に単純な間違いを犯しているかもしれませんが、なぜそれが機能しないのかを理解するのに深刻な問題を抱えています。

コードは次のとおりです:http://jsfiddle.net/HthCa/

更新:これは私の実際のコードです。

<script type="text/javascript" src="scripts.js"></script>
<script type="text/javascript">
    $(function() {
        $('#test').customTabs();
    })
</script>

scripts.js

$.fn.customTabs = function() {
    alert($(this).html());
}
4

4 に答える 4

5

あなたのコードでは:

$('#test').customTabs();

$.fn.customTabs = function() {
    alert($(this).html());
};

あなたはそれを$.fn.customTabs()定義する前に呼んでいます。代わりに試してください:

$.fn.customTabs = function() {
    alert(this.html());
};

$('#test').customTabs();

すでにjQueryオブジェクト(メソッドが呼び出されたオブジェクト)であるため、プラグインメソッドに適用$する必要はないことに注意してください。thisthis

于 2012-08-29T18:08:18.750 に答える
1

新しい関数定義を、呼び出す場所の上に置きます。

$.fn.customTabs = function() {
    alert($(this).html());
};
$('#test').customTabs();
于 2012-08-29T18:07:24.320 に答える
1

このようにコードを入れてください

$.fn.customTabs = function() {
    alert($(this).html());
};
$('#test').customTabs();

また

$.fn.customTabs = function() {
    alert($(this).html());
};
$(function() { // <-- inside a dom ready
    $('#test').customTabs();
});​

原因は、コンソールに表示されているようにまだ定義されていない関数を使用しようとしたことです。 Uncaught TypeError: Object [object Object] has no method 'customTabs'

于 2012-08-29T18:07:31.333 に答える
0

このようなjqueryセレクターオブジェクトからアクセスしてもよろしいですか?

$("some selectors").myPlugin()

これを試した場合

$.myPlugin() // it won't work

動作しません

于 2020-05-18T12:26:18.023 に答える