jQuery将参数传递给插件

时间:2014-09-26 16:28:16

标签: javascript jquery

我正在处理我的第一个jQuery插件,并且在传递0作为参数方面遇到了一些麻烦。

我想要做的是设置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
});

2 个答案:

答案 0 :(得分:4)

问题是0是一个假值,所以不是测试它是否真实(它不是),而是明确检查它是否未定义:

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

JS Fiddle demo

答案 1 :(得分:1)

这里你去了

http://jsfiddle.net/Phatjam98/gqg8qnqm/

所以你的if是假的,因为在JS中0是假的。所以改变:

if(options.pageActive){

要:

if(options.pageActive !== undefined){