我在一个页面上有许多图像和标题,在<figure><img><figcaption>
组中设置。我想使用JavaScript(或jQuery)获取figcaption
的ID并添加&#39; aria-labelledby
&#39;属性为父<figure>
。
例如,我有以下(简化):
<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”&#39;属性,例如aria-labelledby="caption1"
?
我尝试了这个,但得到了一个未定义的函数错误:
$('figure').attr('aria-labelledby', function() {
$(this).find('figcaption').attr('id');
})
任何帮助表示感谢。
由于
答案 0 :(得分:2)
您需要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>