jquery - 如何在链式函数 init 调用中选择时获取对元素的引用?

标签 jquery jquery-selectors

假设我有以下内容:

$('input[rel]').jOverlay({ overlayId: "#overlayID" });

如何从输入的rel值动态获取overlayID?我尝试过使用:

$('input[rel]').jOverlay({ overlayId: this.attr('rel') });

我尝试将其包装在匿名函数中:

$('input[rel]').jOverlay({ (function() { overlayId: this.attr('rel'); }) });

没有效果,正确的方法是什么?

非常感谢 - 杰伊

最佳答案

您必须使用 each() 迭代它们,否则 this (在您的第一个和第二个示例中)实际上是 window 而不是元素(此外,如果 this 没有意义,您匹配了多个元素)。

$('input[rel]').each(function () {
     // In here, this is the specific element in the 
     // jQuery set we're iterating over.

     $(this).jOverlay({ overlayId: this.rel });
});

第三个不起作用的原因很可能是您使用的插件不支持该参数列表。

关于jquery - 如何在链式函数 init 调用中选择时获取对元素的引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11204524/

相关文章:

jQuery FormData - 如何设置字符编码?

javascript - 检查页面何时加载以及打开动画何时完成

javascript - bootstrap 3 中的多个弹出窗口(弹出窗口之上的弹出窗口)?

javascript - 抓取顶点 :commandButton using jQuery

javascript - jQuery next() - 选择器

jquery - 有人能打败这个 jQuery 选择器吗?

javascript - HTML - 如何通过按下按钮使文本消失并显示不同的文本?

JQuery 工具提示悬停在单选按钮上

jquery - 克隆 -> 更改 ids -> 添加内容 -> 显示 -> 附加到父级

jQuery - 编辑父级元素的内容