概述

context属性返回传给jQuery()的原始的DOM节点内容,即jQuery()的第二个参数。如果没有指定,那么context指向当前的文档(document)。

可以与selector一起使用,用于精确检测选择器查询情况。这两个属性对插件开发人员很有用。

如果当时没有传入context参数,则该参数默认为当前文档(document)。该属性属于jQuery对象(实例)。

语法

jQuery1.3 新增该属性,但在 jQuery 1.10 中被标识为已过时。保持该属性只是为了在jQuery Migrate插件中支持live()方法的需要,该属性可能会在未来的版本中被移除。

jQueryObject.context

context属性的返回值是Element类型,哪怕当时传入jQuery(selector, context)函数的context参数不是Element类型。如果当时传入的context参数是jQuery对象,则返回该jQuery对象的context属性。

示例说明:

以下面这段HTML代码为例:

<div id="n1">
    <div id="n2">
        <ul id="n3">
            <li id="n4">item1</li>
            <li id="n5">item2</li>
            <li id="n6">item3</li>
        </ul>
    </div>  
</div>
登录后复制

我们编写如下jQuery代码:

var $li = $("ul li");
// 返回当前文档的document对象
document.writeln( $li.context ); // [object HTMLDocument]
document.writeln( $li.context === document ); // true
var n1 = document.getElementById("n1");
var $n3 = $( "#n3", n1 );
// 返回n1
document.writeln( $n3.context ); // [object HTMLDivElement]
document.writeln( $n3.context === n1 ); // true
var $n2 = $("#n2");
var $n4 = $( "#n4", $n2 );
// 返回$n2的context属性:document对象
document.writeln( $n4.context ); // [object HTMLDocument]
document.writeln( $n4.context === document ); // true
var $n3 = $("#n3", n1);
var $n5 = $( "#n5", $n3 );
// 返回$n3的context属性:n1
document.writeln( $n5.context ); // [object HTMLDivElement]
document.writeln( $n5.context === n1 ); // true
登录后复制

示例:检测使用的文档内容

  jQuery代码:  

 $("ul").append("<li>"+$("ul").context+"</li>")
           .append("<li>"+$("ul", document.body).context.nodeName+"</li>");
登录后复制

 结果:  

 [object HTMLDocument]//如果是IE浏览器,则返回[object]
   BODY
登录后复制

【注】:$("ul", document.body).context.nodeName 这句的意思是在document.body里面找ul元素。

以上就是context属性是什么?context属性实例详解的详细内容,更多请关注Work网其它相关文章!

09-18 11:15