javascript - jQuery future 元素选择器

标签 javascript jquery jquery-selectors

例如我做了一个简单的选择器:

$('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/

相关文章:

jquery - 悬停时更改背景并在悬停时将其删除(单击复杂功能时颜色更改)

jquery - 播放 HTML5 视频时下拉菜单的问题

jquery选择 sibling 'until'

jQuery 禁用 div 的多个输入子项

javascript - 是否有可能将表单输入到另一个html表单中

asp.net - 三引号?如何在 ASP.NET 中分隔数据绑定(bind) Javascript 字符串参数?

javascript - setEndDate 和 setStartDate 的格式?

forms - Ajax表单提交、验证并返回成功或失败

javascript - 使用 jquery .html() 插入 html

javascript - 改变 nyromodal 窗口的大小