使用.data()的jquery插件对象配置

时间:2014-04-03 14:41:09

标签: javascript jquery

它可能是愚蠢的noob一般javascript问题,但我一直试图找到答案好几天。

让我说我使用jquery插件将对象作为设置(我将在flexbox上显示名为fluixbox),我希望它从html中获取一些设置。

HTML:

<a data-color="rgba(40,25,255,1)"> My colorful image </a>

的javascript:

$("a").fluidbox({ overlayColor:   $(this).data("color") })

我认为它相当自我,我试图做一切。我认为问题必须与范围有关。如果我只是创建返回rgba(40,25,255,1)的函数并将其替换为$(this).data(“color”),那么它确实有效。

感谢您的回复。

1 个答案:

答案 0 :(得分:2)

当你在该范围内使用$(this)时,你并没有引用你的锚,你可能指的是Window对象。

您可以使用:

$("a").each(function() {
    $(this).fluidbox({ overlayColor: $(this).data("color") });
});

这应该有效,因为&#34;每个&#34;方法将范围更改为您正在迭代的每个DOMElement。