+ -
当前位置:首页 → 问答吧 → 大家好,下面两个选择器的结果的意义是一样吗?

大家好,下面两个选择器的结果的意义是一样吗?

时间:2009-07-07

来源:互联网

大家好,下面两个选择器的结果的意义是一样吗?
$("div,span,p.myClass")



$("input:radio", document.forms[0]);
---------
第一个知道是“或”的关系。
第二个应该不是,能讲讲怎么区分这种情况?

作者: shgen   发布时间: 2009-07-07

第2个上下文关系,你可以看成包含关系,会被转换成:

$(document.forms[0]).find("input:radio");

作者: keakon   发布时间: 2009-07-07

谢谢,

一个是或的关系,一个是包含的关系。可是形式上他们是一样的吧。
那怎么区分这种情况呢?
知道哪个是或,哪个是包含的关系。

作者: shgen   发布时间: 2009-07-07

仔细一看,知道了。
$("div,span,p.myClass") 它的逗号是在引号里面的。
而另一个不是。

作者: shgen   发布时间: 2009-07-07

这样的手册里面有介绍吗?
$("input:radio", document.forms[0]);

我试了下觉得如果document.forms[0]存在的话是这样,如果是一个不存在的document.forms[1]);,那么就和$("input:radio")一样.
什么原因哪?大家试试

作者: lgzxz999   发布时间: 2009-07-08

document.forms[1]不存在时是undefined,所以变成$(undefined).find("input:radio");

$(undefined)就等于$(document)

手册里是没有写的,但官网的文档记得写了,源码里也可看到

    init : function(selector, context) {
        selector = selector || document;
...
return jQuery(context).find(selector);

作者: keakon   发布时间: 2009-07-08

相关阅读 更多