javascript - 修复编译为未定义?

标签 javascript node.js ecmascript-6 babeljs

<分区>

我的 app.js 是用 es6 标准写的,我的问题是 > 我怎样才能使用这样的代码?:

$('img').each(() => {
    var title = $(this).attr('src');
    titles.push(title);
});

我观察到 Node 将此代码编译为:

'use strict';

$('img').each(function () {
    var title = $(undefined).attr('src');
    titles.push(title);
});

将“this”编译为“undefined”,我该如何解决? 提前致谢 ;)

最佳答案

另一种解决方案是使用传递给回调的元素,如 .each 中定义的那样文档 - 函数(整数索引,元素元素):

var titles = [];

$('img').each((index, element) => {
    var title = $(element).attr('src');
    titles.push(title);
});

document.getElementById('demo').innerHTML = JSON.stringify(titles, undefined, 4);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<img src="http://38.media.tumblr.com/avatar_502c67b98956_64.png">

<img src="https://s-media-cache-ak0.pinimg.com/favicons/62c7e8f531e824f6f8da34453cdd698a8856f3aea36118408c3e5c09.png?9e884f0299eee37aedab60fe1ed363b5">

<pre id="demo"></pre>

关于javascript - 修复编译为未定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36237034/

相关文章:

javascript - Chrome 开发工具中使用了哪些框架和库?

javascript - 在不损失准确性的情况下格式化计时器?

javascript - 合并对象属性并分配具有不同名称的同级属性

javascript - Titanium:Android设备上的数据加解密技术

javascript - 如何将局部变量传递给 Promise Done 函数

javascript - window.open 强制新的 JavaScript 线程

javascript - Browserify 错误结束 gulp 监视任务

Node.js 和 Express : "Cannot GET/" static site

node.js - "Error: Received packet in the wrong sequence."连接无服务器极光时

javascript - 父节点上的事件监听器也在所有子节点上触发