javascript - 如何使用纯 JS 在 img 上设置数据源?

标签 javascript html

我想在我用 JS 创建的 img 上设置一个 data-src 属性。

为什么这不起作用?

const image = document.createElement('img');
image.className = 'restaurant-img';
image.src = '/img/1.jpg';
image.data-src = DBHelper.imageUrlForRestaurant(restaurant);
li.append(image);

IDE 说:必须是左值

所以我不能分配它。

我还能如何从纯 JavaScript(没有 jQuery)在 img 上设置数据源?

最佳答案

如果你想设置一个属性,你应该使用setAttribute

像这样:

const image = document.createElement('img');
image.className = 'restaurant-img';
image.src = '/img/1.jpg';
image.setAttribute('data-src', 'foobar');
document.body.appendChild(image);
console.log(image.outerHTML);

如果你想设置元素的属性名data-src,你必须使用方括号,因为-是一个点符号中的非法字符:

image['data-src'] = 'foobar';

关于javascript - 如何使用纯 JS 在 img 上设置数据源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51734707/

相关文章:

javascript - 如何添加带有下一个、上一个和关闭按钮的搜索栏来搜索 html 主页面中的文本

javascript - 使用 JSON 填充全局数组

html - 当悬停最后一个 child 时,嵌套的 div 也悬停在父级上

html - 将框架放在 Bootstrap 轮播周围

javascript - 下拉列表的选定选项值未被拾取 jQuery

php - src 与 require 或 include (path) 的区别

javascript - 使用服务器发送事件的基于 Php 的查询实时聊天。(多对一系统不是群聊)

javascript - 查找与范围内的设定日期相交的最短开始日期

javascript - jQuery 使单选按钮不可点击

javascript - 单击某个对象后如何展开/折叠整个 HTML 表格