2012-02-29 24 views
8

Tôi có đoạn code mẫu dưới đây:dữ liệu trong kịch bản jQuery/Cà phê

<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 

Tôi đang sử dụng cà phê kịch bản trong đường ray và ngay bây giờ Tôi chỉ cố gắng để cảnh báo giá trị của thuộc tính dữ liệu data-color.

Đây là kịch bản của tôi cà phê

jQuery -> 
    $("input[name='color']").change -> 
     color = this.data() 
     alert color.color 

Các jQuery biên soạn trông như thế này:

(function() { 

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

}).call(this); 

Nhưng tôi tiếp tục nhận được lỗi này?

Uncaught TypeError: Object #<HTMLInputElement> has no method 'data' 

Trả lời

24
jQuery -> 
    $("input[name='color']").change -> 
     color = $(this).data() 
     alert color.color 

jQuery gán this đến tử đã kích hoạt gọi lại, nhưng không bao giờ là một đối tượng jQuery của nó. Vì vậy, bạn phải bọc nó nếu bạn muốn gọi các phương thức jQuery trên đó.

Các vấn đề liên quan