代码之家  ›  专栏  ›  技术社区  ›  AFetter

如何将数据传递给函数jquery

  •  0
  • AFetter  · 技术社区  · 11 年前

    我尝试使用数据属性将参数传递给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 回复  |  直到 11 年前
        1
  •  1
  •   Ram    11 年前

    在第一个JavaScript片段中 this 不将集合引用为对象文本( {} )不要创建新作用域。在第二段中 这 在jQuery绑定 这 使用当前迭代元素的处理程序值,因此您可以编写代码:

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