javascript - _.each 的回调函数?

标签 javascript jquery underscore.js

我正在尝试使用下划线的模板功能将动态内容生成到我的 HTML 中。代码如下:

<div id="accordeonExaminadorBaliza" data-role="collapsible" data-theme="b" data-content-theme="b">
  <legend>Examinador de Baliza</legend>
  <ul id="listExaminadorBaliza" data-role="listview" data-inset="true">
    <%  _.each(c.getExaminadores(), function(examinador){ %>
      <li><img width = '80' height = '80' src= "data:image/jpeg;base64,<%= examinador.fotografia %>"> <%= examinador.nome %></li>
    <%  }); %>
  </ul>
</div>

现在,我需要捕获与用户单击的“li”元素相关的对象。如何实现一个事件监听器,单击即可捕获当前“li”元素的对象“examinador”?我对 javascript 没有太多经验,所以请耐心等待。

最佳答案

标识符examinador.nome由模板引擎使用;模板引擎写出文本后,页面上运行的脚本将无法访问它。相反,您可以让模板代码写出您需要的任何数据作为元素上的 data- 属性字符串(使用 - 输出 HTML 转义值):

<%  _.each(c.getExaminadores(), function(examinador){ %>
  <li data-nome="<%- examinador.nome %>"><img width='80' height='80' src="data:image/jpeg;base64,<%= examinador.fotografia %>"><%- examinador.nome %></li>
<%  }); %>

然后使用 jQuery 的 .data 访问它:

$('#listExaminadorBaliza').on('click', 'li', function(){
    alert($(this).data("nome"));
    // or
    alert($(this).attr("data-nome"));
});

关于javascript - _.each 的回调函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25745813/

相关文章:

javascript - jQuery - 在 div 之间拖放,同时能够调整元素大小

javascript - 使用 JQuery 在文档准备好时为相关选择设置值

javascript - 将简单数组转换为对象数组

javascript - 日期时间选择器布局错误

javascript - Angular 使翻译全局化

javascript - 不打印 AJAX 的结果

jquery - 根据父级高度设置 UL 最小高度

javascript - 使用 lodash(或等效)_.get() 函数通过引用而不是值获取对象

javascript - 从 2 个数组中选择随机整数,直到条件为真

javascript - EmberJS 数据 - PushPayload 后清理记录