需要用vanilla js设置一个没有值的data-*

问题描述 投票:0回答:1

我正在从我拥有的部分动态创建链接列表:

$sections.forEach(({ id, firstElementChild: { textContent } }) => {
    const link = document.createElement('a');
    link.classList.add('link');
    link.setAttribute('href', `#${id}`);
    link.setAttribute('data-scroll-spy', true);
    link.textContent = textContent;
    fragment.appendChild(link);

我需要为他们每个人放置一个数据滚动间谍,但没有价值。 我需要收到这个:

<a class="link" href="#" data-scroll-spy>some text</a>

到目前为止我找到的唯一解决方案是使用 setAttribute 但这不是我所期望的,

javascript custom-data-attribute
1个回答
1
投票

setAttribute()
将字符串作为第二个参数,而不是布尔值。

将值设置为空字符串而不是布尔值,您将获得所需的结果。

link.setAttribute('data-scroll-spy', '')

© www.soinside.com 2019 - 2024. All rights reserved.