使用 JQuery 从另一个元素的 id 为图像分配属性
Assign attributes to an image from the id of another element with JQuery
我有一个列表,列表中的每个项目都包含一个图像和一个地图
<ul class="slides">
<li>
<img src="slide1.jpg" />
<map id="map-one"></map>
</li>
<li>
<img src="slide2.jpg" />
<map id="map-two"></map>
</li>
<li>
<img src="slide3.jpg" />
<map id="map-thre"></map>
</li>
要在 img 标签上使用地图,我应该添加属性 usemap,例如在列表的第一个元素中
<li>
<img src="slide1.jpg" usemap="#map-one" />
<map id="map-one"></map>
</li>
为了获取地图的id,我用JQuery做了以下工作
var $mapid;
$('.slides li map').each(function(i, elem) {
var $this = $(this);
$mapid = $this.attr('id');
});
用
console.log($mapid);
结果如下
- 地图一
- 地图二
- 地图-三
但是现在我不知道为每个图像分配usemap属性,此属性的值是用于坐标的地图的id。
喜欢这个
<ul class="slides">
<li>
<img src="slide1.jpg" usemap="#map-one" />
<map id="map-one"></map>
</li>
<li>
<img src="slide2.jpg" usemap="#map-two" />
<map id="map-two"></map>
</li>
<li>
<img src="slide3.jpg" usemap="#map-thre" />
<map id="map-thre"></map>
</li>
您可以使用 .attr(( 的 setter 版本,然后您可以返回下一个元素(即map
元素(的 id,
#
$('.slides li img').attr('usemap', function (i, elem) {
return '#' + $(this).next().attr('id')
});
演示:小提琴
你不需要中间变量。你可以只获取前面的img
元素并直接设置它的 id:
$('.slides li map').each(function () {
$(this).prev('img').attr('id', '#' + this.id);
});
相关文章:
- 使用 HTML 输出标记查看可缩放图像并分配 src
- 多个图像显示带有动态创建的画布的最后一个图像并分配给图像
- 使用 JQuery 从另一个元素的 id 为图像分配属性
- 将base64图像数据作为src分配给图像时,Firefox和Chrome上的结果不一致
- HTML服务为图像分配URL
- 如何分配在画布中绘制的图像的点击
- 如何使用在 javascript 中分配给图像的变量,并使用 switch 语句在 html 中显示它们
- JS循环图像文件夹,预加载它们并分配给数组
- 严格模式下的图像数据数据分配
- 将多个图像(文件)从一个文件输入分配给另一个文件输入 - 上传
- 将类分配给第一个图像
- 如何在 HTML 文件中分配图像
- 随机为图像分配一个值,然后传递动画
- 是否可以加载图像,在内存中缩放它并将其分配为背景图像的 uri
- 根据单元格的值将CSS生成的图像分配给表中的单元格
- 不能为动态创建的图像分配样式
- 如何在html中为图像分配数字
- 如何使用jquery-css将按钮的背景图像分配给变量
- 在动态情况下为相应的图像分配按钮
- 为不同的图像分配不同的链接,并让它在iframe容器上播放指定的(youtube)链接