获取子 ID 并作为 ARIA 属性添加到父级
Get child ID and add to parent as ARIA attribute
我在页面上有许多图像和标题,设置在<figure><img><figcaption>
组中。我想使用 JavaScript(或 jQuery)获取figcaption
的 ID,并在父<figure>
中添加一个 ' aria-labelledby
' 属性。
例如,我有以下内容(简化):
<figure id="figure1">
<img src="x.jpg">
<figcaption id="caption1">Sample</figcaption>
</figure>
<figure id="figure2">
<img src="y.jpg">
<figcaption id="caption2">Sample</figcaption>
</figure>
如何遍历每个元素并添加适当的"aria-labelledby"属性,例如aria-labelledby="caption1"
?
我试过这个,但得到一个未定义的函数错误:
$('figure').attr('aria-labelledby', function() {
$(this).find('figcaption').attr('id');
})
任何帮助表示赞赏。
谢谢
你需要
return
该值,否则你不会对它做任何事情。
$('figure').attr('aria-labelledby', function() {
return $(this).find('figcaption').attr('id');
})
演示
$('figure').attr('aria-labelledby', function() {
return $(this).find('figcaption').attr('id');
})
[aria-labelledby] {
color: #f00;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<figure id="figure1">
<img src="x.jpg">
<figcaption id="caption1">Sample</figcaption>
</figure>
<figure id="figure2">
<img src="y.jpg">
<figcaption id="caption2">Sample</figcaption>
</figure>
相关文章:
- 如果使用 lodash 将属性存在于另一个对象中,则向对象添加属性
- 如何向JSON数组动态添加属性
- 如何在 JavaScript 中以递增顺序在对象中添加属性
- 挖空.js - 向服务器端发送的数据添加属性
- 借助for循环和数组在对象中添加属性
- 新手查询动态添加属性
- 为什么可以'我们在函数体中为函数对象添加属性,就像在javascript中为对象文字添加属性一样
- 使用javascript为网页中的所有图像添加属性
- Javascript - 如何向对象构造函数添加属性
- 向插件添加属性(不是默认方式)
- 如何使用 Ext.js 向内存中的标记添加属性
- Gmaps4rails:如何向 json 添加属性
- 在运行时向 Javascript 对象添加属性
- 从Input Javascript在脚本中添加属性
- JQuery:如何检查复选框是否被选中并向字段添加属性
- 向构造函数或原型添加属性之间的区别
- 向对象动态添加属性
- 无法向按钮添加属性
- 定义一个函数,然后为其添加属性
- 如何通过javarscript或jquery在数组中添加属性复选框(checked=true)