【发布时间】:2021-10-18 19:53:42
【问题描述】:
我正在尝试通过将数据属性分配给该图像的父容器来确定如何将 alt-text 属性添加到该图像。
基本上,我添加到data-alt 的任何文本都会在img 元素上分配为alt-text。
如何编写属性以便将其作为alt-text 应用于图像,而不是父图像?
我想在代码编辑器中输入的内容:
<div class="image-parent" data-alt="hello world">
<img src="path/to/image">
</div>
我想要的结果:
<div class="image-parent">
<img src="path/to/image" alt="hello world">
</div>
这是我尝试过的,但我不明白如何将数据属性应用于图像的子元素。
let imgParentContainers = document.querySelector('.image-parent');
let dataAlt = imgParentContainers.setAttribute('data-alt', '');
<div class="image-parent" data-alt="alt text here">
<img src="https://apkdoll.com/wp-content/uploads/2021/08/HOLLA-Live-Random-Video-Chat-MOD-APK.png">
</div>
【问题讨论】:
-
您认为
setAttribute()究竟会返回什么? (提示:答案是undefined)。您为什么要尝试将其分配给变量? -
目前,该属性正在分配给父级 (
image-parent),但我需要看到它分配给图像,而不是父容器。 -
你没有回答我的问题。考虑到右手表达式和
setAttribute总是返回undefined的事实,您期望dataAlt设置为什么?你不希望一个名为setAttribute的方法能做到这一点(设置一个属性的值)吗? -
你一直在重复这个问题(但很清楚你想要发生什么)。 esqew 试图提出一些基本问题,以便您考虑有缺陷的代码实际上做了什么,并在自己修复它的同时学习一些东西。
-
这是一个简短的版本:jsfiddle.net/heL3x9j7
标签: javascript html