例如我做了一个简单的选择器:
$('div').eq(0).selector;// returns "div.slice(0,1)"
$($('div').eq(0).selector);// would not work...
如果 eq(0)
不在那里,它会起作用,因为它没有切片,而是一个合适的可用选择器。
我的问题是,我想知道使用 .selector
不是很有帮助,而且我还没有尝试过其他过滤器等...
$('div').children().selector// returns "div.children()"
我正在使用 jQuery 1.7.1,我真的不明白这个 .selector
在返回一些甚至不起作用的东西时有什么用。
我试图制作一个插件,但我想到了使用 .selector
来获取将来添加的元素(动态)。
更新
$.fn.myplugin(function (){
$(this.selector)//select future elements...
})
或者还有另一种方法吗?
最佳答案
如果您正在制作一个插件,您通常会做的是提供一个带有选择器的选项,用于刷新您的元素列表。此选项也可以提供给最终用户,以便对其进行自定义。
$('div').myPlugin({
elements: 'ul > li'
});
如果需要检测 future 元素以绑定(bind)事件,使用事件委托(delegate)使用.on() .
长话短说,您实际上是在容器上定义事件处理程序。如果最初接收事件的元素与指定的选择器匹配,则事件将冒泡到容器并被执行。
<div id="container">
<span>Some text</span>
<button>Click me</button>
</div>
$('#container').on('click', 'button', function() { ... });
这将在元素 #container
上绑定(bind)一个处理程序如果元素 <button>
将执行事件处理程序被点击...但也适用于任何 <button>
之后将元素添加到 DOM。
关于javascript - jQuery future 元素选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12002783/