jQuery/Coffee脚本中的数据属性

Sli*_*k23 8 jquery coffeescript

我有以下表单代码:

 <input data-color="orange" id="vote_color_id_2" name="color" type="radio" value="2" />Orange
 <input data-color="blue" id="vote_color_id_3" name="color" type="radio" value="3" />Blue
 <input data-color="green" id="vote_color_id_4" name="color" type="radio" value="4" />Green
Run Code Online (Sandbox Code Playgroud)

我在rails中使用Coffee脚本,现在我只是想提醒数据属性的值data-color.

这是我的咖啡脚本

jQuery ->
    $("input[name='color']").change ->
        color = this.data()
        alert color.color
Run Code Online (Sandbox Code Playgroud)

编译的jQuery看起来像这样:

(function() {

  jQuery(function() {
    return $("input[name='color']").change(function() {
      var color;
      color = this.data();
      return alert(color.color);
    });
  });

}).call(this);
Run Code Online (Sandbox Code Playgroud)

但我一直收到这个错误?

Uncaught TypeError: Object #<HTMLInputElement> has no method 'data'
Run Code Online (Sandbox Code Playgroud)

Ale*_*yne 25

jQuery ->
    $("input[name='color']").change ->
        color = $(this).data()
        alert color.color
Run Code Online (Sandbox Code Playgroud)

jQuery分配this给触发回调的元素,但它永远不是jQuery对象.因此,如果要在其上调用jQuery方法,则必须将其包装起来.