它可能是愚蠢的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”),那么它确实有效。
感谢您的回复。
答案 0 :(得分:2)
当你在该范围内使用$(this)时,你并没有引用你的锚,你可能指的是Window对象。
您可以使用:
$("a").each(function() {
$(this).fluidbox({ overlayColor: $(this).data("color") });
});
这应该有效,因为&#34;每个&#34;方法将范围更改为您正在迭代的每个DOMElement。