各种jQuery问题

时间:2009-07-05 11:44:03

标签: javascript jquery

1。)这两个查询之间究竟有什么区别?

$( "#orderedlist li" )
$( "#orderedlist>li" )

2.。)在jQuery文件本身中有一个函数返回以下内容:

function now(){
    return +new Date;
}

这是什么意思?我以前从未见过+ new。

3。)在简要略读教程时,我观察了以下样本:

// use this to reset a single form
$( "#reset" ).click( function()
{
    $( "form" )[0].reset();
});

// use this to reset several forms at once
$( "#reset" ).click( function()
{
    $( "form" ).each( function()
    {
        this.reset();
    });
});

当我尝试通过数组索引引用自己的查询时,它们似乎不起作用。然而,当我测试时,这个例子显然已经做到了我可能做错了什么?

编辑:我很快就会把这个问题写进自己的问题。 编辑2:其实我可以自己调试一下。坚持......

我已经猜到了这些,但是如果没有全面剖析jQuery文件,我不能完全确定这里有什么工作。帮助赞赏。

2 个答案:

答案 0 :(得分:8)

问题#1

  • #orderedlist li是“后代选择器”:li内任意位置#orderedlist
  • #orderedlist>li是一个“子选择器”:li,它是#orderedlist的直接子项。

问题#2

那是使用一元加运算符 - 它相当于:

return Number(new Date);

参见:http://xkr.us/articles/javascript/unary-add/ - 它给出了自UNIX纪元以来的毫秒数。

问题#3

我不知道这个。你能发一个最小的失败例子吗?

答案 1 :(得分:3)

  1. 区别在于CSS选择器,一般不是jQuery。 “#orderedlist li”将选择树中#orderedlist元素下面的任何LI元素。 “#orderedlist> li”只会选择LI,如果它是#orderedlist的直接子项。

  2. +运算符只是将字符串转换为JavaScript中的数字的常用快捷方式。例如,+“1”+ 1将返回2,而不是11。

  3. 如果没有看到不起作用的示例,请不要确定这个。