如何将数据传递给函数jquery

时间:2015-09-16 00:34:01

标签: jquery

我尝试使用data属性将参数传递给Jquery函数。

我做错了什么?

<ul class="flexisel" data-visible-items="2">
      <li>...</li>
      <li>...</li>
      <li>...</li>
      <li>...</li>

</ul>

我认为这是传递参数的正确方法。但它不起作用。

$(".flexisel").flexisel({
        clone: true,
        visibleItems: $(this).attr("data-visible-items") //This doesn't work
});

此示例完美无缺:

$(".flexisel").each(function () {
      //works       
      console.log("here", $(this).attr("data-visible-items"));
});

1 个答案:

答案 0 :(得分:1)

在您的第一个JavaScript代码段this中未将该集合称为对象文字({}),请勿创建新范围。在您的第二个片段this中引用迭代的当前元素,因为jQuery使用当前迭代元素绑定处理程序的this值,因此您可以编写代码:

$(".flexisel").each(function() {
   $(this).flexisel({
        clone: true,
        visibleItems: $(this).data("visible-items")
   });
});