概述 selector版本 过时: 1.7, 移除: 3.0
返回值:String
描述:返回传给jQuery()的原始选择器。
.selector
属性在jQuery 1.7中已经不赞成使用,
并且只保留在jQuery Migrate plugin(迁移插件)中,用来支持.live()
。
它可能在未来的版本中被删除,不做另行通知(手册网注:在jQuery 1.9中已经被移除)。
该属性作为选择器,当被用于获得jQuery集合中当前包含的元素时,肯能是不可靠的,
因为后来的遍历方法可能会改变集合。
如果插件需要选择器字符串在插件内部中使用 ,那么可以它可以作为该方法的一个参数。
例如,
一个“foo”的插件可以写成 $.fn.foo = function( selector, options ) { /* plugin code goes here */ };
,
使用插件的人需要将 "div.bar"
选择器作为.foo()
的第一个参数,
写成 $( "div.bar" ).foo( "div.bar", {dog: "bark"} );
。
应使用与上下文结合,以确定准确的查询使用。
.live()
方法绑定事件处理器使用此属性来确定根元素使用其事件委派的需要。插件能执行类似的任务也可以找到有用的属性。 此属性包含一个字符串,表示匹配的元素,如果在对象上已调用DOM遍历方法,这个字符串可能不是一个有效的jQuery选择器的表达。出于这个原因,.selector
值一般最有用的是紧随原始创作对象。因此, .live()
方法只应该在这个方案中使用。
示例
确定查询的选择器
$("ul")
.append("<li>" + $("ul").selector + "</li>")
.append("<li>" + $("ul li").selector + "</li>")
.append("<li>" + $("div#foo ul:not([class])").selector + "</li>");
ul
ul li
div#foo ul:not([class])