将对象字面量扩展为 html5 数据属性

2023-12-22

是否可以将对象文字扩展为 html5 数据属性?

具有以下对象:

const requirements = {
    'data-description': 'some text...',
    'data-pointer': true,
    'data-speaker': true
}

我想将其扩展为锚标记以获得如下内容:

<a href="#" class="show-modal" data-description="some-text" data-pointer="true" data-speaker="true">Show modal</a>

我尝试以这种方式使用扩展语法<a href="#" class="show-modal" `${...requirements}`>Show modal</a>但什么也没有打印出来

我现在依赖这个函数来构建锚点并动态传递数据。

function buildAnchor(requirements) {
    const anchor = document.createElement('a');

    anchor.setAttribute('class', 'show-modal');
    anchor.setAttribute('href', '#');
    anchor.textContent = 'More info';

    Object.keys(requirements).forEach(data => {
        anchor.setAttribute(data, requirements[data]);
    });

    return anchor.outerHTML;
}

这个函数可以完成这项工作,但我想知道是否可以使用扩展语法

提前致谢


直接使用如何HTMLElement's dataset财产 https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/dataset然后通过分配一个简化的配置对象给它Object.assign... 喜欢 ...

var requirements = {
  'description': 'some text...',
  'pointer': true,
  'speaker': true
};
var elmLink = document.createElement('a');

elmLink.href = '';
Object.assign(elmLink.dataset, requirements);

console.log('elmLink : ', elmLink);
.as-console-wrapper { max-height: 100%!important; top: 0; }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将对象字面量扩展为 html5 数据属性 的相关文章

随机推荐

  • iOS 8 CoreData 问题:recordChangeSnapshot:forObjectID:: 录制时全局 ID 可能不是临时的

    我正在将我的应用程序从 iOS 7 迁移到 iOS 8 当我尝试保存核心数据上下文时 我在 Xcode 中收到以下错误 iOS 7 和 Xcode 5 中不存在此错误 它会在下面的行中抛出异常 NSError saveError nil i
  • Django:“sys.path”应该是什么?

    开发 Django 应用程序时 什么是sys path应该包含 包含项目的目录 或项目的目录 或两者 sys path应该并且将会有项目的目录 根据您的设置 它还可能包含包含项目的目录 但是 如果这个问题背后的动机是确保可以找到某些文件 那
  • 如何在Windows批处理文件中循环连接字符串?

    我熟悉 Unix shell 脚本编写 但对 Windows 脚本编写不熟悉 我有一个包含 str1 str2 str3 str10 的字符串列表 我想这样做 for string in string list do var string
  • 调用未定义的方法 Maatwebsite\Excel\Excel::load()

    我正在尝试使用 maatwebsite 3 0 导入 Excel 文件 xlsx 如何修复此错误 调用未定义的方法 Maatwebsite Excel Excel load 我的控制器 public function importsave
  • CGMutablePathRef 的自动释放?

    我正在为 iPhone 开发 我想通过 CGPathCreateMutable 创建一个可变路径 并且我想从创建它的函数中返回它 我应该在完成后调用 CGPathRelease 但既然我要归还它 我希望自动释放它 由于 Quartz 路径是
  • 如何使用MockBloc实现widget测试?

    我正在尝试实现小部件测试以测试登录表单 该测试取决于我使用 MockBloc 嘲笑的块 但是 它会引发以下错误 EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK The following StateEr
  • 使用 odeint 求解 ODE 时如何传递源项

    强迫谐振子的微分方程为Mx Lx w 2 x F t 这里 F t 是源项 为了解决这个问题 我编写了一段代码 在函数 diff 中定义微分方程 我编写了另一个函数 generate pulse 来给出 F t 然后我使用 odeint 它
  • AngularJS 中的控制器功能?

    我是角度js新手 控制器在我的代码中无法正常工作 我正在尝试运行以下代码 name br div div
  • Haskell 中的高效比特流

    在不断努力有效地摆弄位的过程中 例如 请参阅此所以问题 https stackoverflow com questions 43601927 efficient bit fiddling in a lfsr implementation 最
  • 通过PHP邮件发送邮件速度慢

    我有一个拥有超过 100 万成员的大型董事会 并且在向每个成员发送电子邮件之间存在很大的延迟 按照目前的速度 我实际上需要 3 个月的时间才能向所有 100 万会员发送电子邮件 我的机器 专用 双四核至强 32G 公羊 森托斯 5 4 v公
  • 在 Angular 2+ 中路由到延迟加载模块中的特定页面

    我的主应用程序路由器中有以下内容 path users loadChildren app modules users users module UsersModule canLoad AuthGuard 当用户转到http localhos
  • 使用原型的Javascript如何设置数字的“this”值?

    那么 如果我们能够克服 你应该吗 的问题 问题 有谁知道如何在原型中设置整数的值 Number prototype add function num var newVal this valueOf num this valueOf newV
  • Fragment 中的 OnPostCreate

    我正在使用一个TextWatcher在我的活动中onPostCreate但现在我把它变成了一个片段 在 Fragment 中相当于什么 Override protected void onPostCreate Bundle savedIns
  • Koin 共享范围为嵌套图的依赖关系

    我想知道如何正确确定 Koin 库的依赖范围 由于 Google 推荐了single Activity建筑学 https android developers googleblog com 2018 05 use android jetpa
  • ANGULAR 7 重新加载组件视图

    我想通过单击按钮图标来重新加载组件视图 而不刷新整个页面 我的查看代码
  • WSDServiceFactory 中的空指针异常 - Apache CXF 库

    我的代码有问题 WSDL 文件由来自 apache cxf 的 wsdl2java 解析 现在我正在尝试连接网络服务 但仍然遇到空指针异常 Exception in thread main java lang NullPointerExce
  • 如何让 sinatra 应用程序在 Rails 4 中运行?

    我有一个 Sinatra 应用程序 我想开始在 Rails 中构建新功能 同时仍然支持现有的 Sinatra 功能 我尝试过以下策略 sinatra 的rackup 将一些请求路由到rails 将一些请求路由到sinatra sinatra
  • 简单 Web 服务器:指定的网络名称格式无效

    我正在编写的简单网络服务器遇到问题 我需要能够通过 localhost 和 IP 连接到服务器 但是 我在通过 IP 连接时遇到问题 这是我的代码 private void start button Click object sender
  • HTML 文本区域边距

    当我向 HTML 添加边距时 https developer mozilla org en US docs Web HTML Element textarea如果宽度为 100 则边距正确应用于左侧 但整个文本框会向右移动并延伸到父容器 看
  • 将对象字面量扩展为 html5 数据属性

    是否可以将对象文字扩展为 html5 数据属性 具有以下对象 const requirements data description some text data pointer true data speaker true 我想将其扩展为