Coffeescript jQuery set data()

Coffeescript jQuery set data()

本文关键字:data set jQuery Coffeescript      更新时间:2023-09-26

我做错了什么?我正在尝试为每个锚点分配.data()。现在,脚本只删除标题,但不在data()中存储任何内容。当我尝试console.log(title)时,它把标题写得很好,但仍然没有存储

我在咖啡中有以下几行

$(document).ready ->
    initBubble();
initBubble = ->
    $('a[title]').each (index, element) => 
        setInfoAttr($(element))
setInfoAttr = (element) ->
    title = element.attr('title')
    element.data('info', title).removeAttr('title')

编译后的输出如下

(function() {
  var initBubble, setInfoAttr;
  $(document).ready(function() {
    return initBubble();
  });
  initBubble = function() {
    var _this = this;
    return $('a[title]').each(function(index, element) {
      return setInfoAttr($(element));
    });
  };
  setInfoAttr = function(element) {
    var title;
    title = element.attr('title');
    return element.data('info', title).removeAttr('title');
  };
}).call(this);

也许可以稍微调整一下。我唯一能看到的是,initBubble函数在被调用时可能是未定义的。

initBubble = ->
    $('a[title]').each (index, element) => 
        setInfoAttr $(element)
setInfoAttr = (element) ->
    title = element.attr('title')
    element.data('info', title).removeAttr('title')
// A little shorcut for $(document).ready
$ ->
    initBubble()