我可能会犯一个非常简单的错误,但是我有一些严重的麻烦要弄清楚为什么它不起作用。
以下是代码: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());
}
答案 0 :(得分:5)
在您的代码中:
$('#test').customTabs();
$.fn.customTabs = function() {
alert($(this).html());
};
在定义之前,您正在调用$.fn.customTabs()
。请尝试改为:
$.fn.customTabs = function() {
alert(this.html());
};
$('#test').customTabs();
请注意,您不需要在插件方法中将$
应用于this
,因为this
已经是jQuery对象(调用该方法的对象)。 / p>
答案 1 :(得分:1)
将新功能定义放在您调用它的位置上方。
$.fn.customTabs = function() {
alert($(this).html());
};
$('#test').customTabs();
答案 2 :(得分: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'
答案 3 :(得分:0)
确定要从jquery选择器对象访问它
$("some selectors").myPlugin()
如果您尝试过
$.myPlugin() // it won't work
它不起作用