2014-09-26 93 views
1

我正在处理我的第一个jQuery插件,并在传递0作为参数时遇到一些麻烦。jQuery将参数传递给插件

我想要做的就是设置element.eq(parameter),这可以很好地适用于1,2,3,4等,但0不起作用。它可以工作,如果我输入element.eq(0)

console.log输出:

0 
null x2 

我有一个简单jsfiddle这个问题

因此,我将如何去了解,使之出现的第一个孩子?

$.fn.miobi.defaultOptions = { 
     page: null, 
     pageActive: null 
    }; 

$('body').miobi({ 
    page: '.page', 
    pageActive: 1 // not working with 0 
}); 
+0

我知道它输出0,但它没有显示元素0 =第一胎 – 2014-09-26 16:35:49

回答

4

的问题是,0是falsey值,因此而不是测试,如果它是truthy(它不是),明确检查它被不-未定义:

if (typeof options.pageActive !== 'undefined') { 

JS Fiddle demo

+0

啊,谢谢!没想到那个! :) – 2014-09-26 16:34:22

+1

不客气,你不是第一个*咳嗽* ... – 2014-09-26 16:34:46