2016-02-11 66 views
-1

我正在laravel 5.1和backbone.js上工作。在下划线模板上,我已将data-id属性与动态生成的值相关联。我试图获得数据值,但我得到“未定义”的错误。这里是我的代码:jquery没有从html表格获取数据属性值

<div class="col-xs-10 p-r-0 comment-user-detail"> 
<span class="user-name"><%- loggedInUserName %></span> 
<p class="more"> 
    <%= comment.message %></p> 
<br> 
<ul class="comment_inner" data-id="<%- comment.id %>"> 
    <li class="fbcommentlike"><a href="#">Like</a></li> 
    <li><a href="">Reply</a></li> 
    <li><i class="fa fa-thumbs-up"></i>1</li> 
    <li><span class="comment_date_time"><%= moment(comment.created_time.date , 'YYYY-MM-DD 
     h:m:s').format("DD MMMM") %></span> at <span class="comment_date_time"><%= moment(comment.created_time.date 
      , 'YYYY-MM-DD h:m:s').format("h:m") %></span></li> 
</ul> 
<% }); %> </span> 
</div> 

这里是我的jQuery代码:

console.log $(this).attr('data-id') 
+0

其中$(这)? –

回答

0

你应该使用:

console.log($(this).data('id')); 
+0

如果这是问题,我敢肯定他们会得到一个SyntaxError,而不是一个“未定义”的错误。 ('console.log $(this).attr('data-id')'是有效的CoffeeScript)。 – ivarni

+0

但访问数据属性的标准方式是使用数据功能。在这里阅读更多:https://api.jquery.com/data/ –

+0

使用'.attr'访问属性仍然不会抛出“未定义”的错误。 – ivarni