使用 jQuery 从 HTML 中的多个图像元素中删除文件路径
Remove filepaths from multiple image elements in HTML using jQuery
我正在尝试保留文件名,但从页面上的图像元素中删除文件路径,并且我已经设法根据我已经从类似问题中收集到的内容找出以下内容。
我只能删除文件路径,但我无法弄清楚为什么第一个图像的源被复制到其他两个图像中。
这是我到目前为止整理的内容
.HTML
<img src="/path/to/image.gif" />
<img src="/different/path/to/picture.jpg" />
<img src="another/path/to/graphic.png" />
.JS
var abc = $('img').attr('src');
var def = abc.split('/').pop();
$('img').attr('src', def);
结果
<img src="image.gif">
<img src="image.gif">
<img src="image.gif">
http://jsfiddle.net/aztdeu0w/
您没有遍历所有 img 元素,请尝试以下操作:
$('img').each(function(){
var imgName = $(this).attr('src').split('/').pop();
$(this).attr('src', imgName);
});
这样,您将遍历所有图像并相应地替换 src 属性。
这就是jQuery的工作方式。$ 选择器获取一个项目数组(包含 0-N 匹配的元素),然后将您的操作应用于这些元素。但是,对于某些操作 - 读取操作(如attr('src')
,只读取单个项目才有意义,因此它会读取第一个项目。
您想要的是迭代图像并一次将正则表达式应用于它们。 所以...
$('img').each(function(index, item){
// Read/write attr here
});
相关文章:
- 遍历类元素数组,并在jquery中选择同级元素
- 如何使用css动画/javascript使具有背景图像的元素出现
- 将包含SVG元素的HTML转换为图像文件
- 如何通过选择器元素将图像添加到javascript下拉警报消息中
- 如何缩放像图像一样的元素
- 在d3中向DOM元素添加了图像,但现在它赢得了't过渡
- 普通JS:使80%宽度元素100%IF包含一个图像
- 如何创建具有单个元素或元素数组的数组
- 在指令内加载后访问子元素图像
- 如何在上传前在浏览器中去除图像元数据(javascript)
- 在有限的时间内暂时禁用元素/图像的实时点击
- 在镶边中选择渲染的图片元素图像
- 从HTML5 FileApi加载的图像中检索EXIF图像元数据
- 在执行之前,请检查是否已加载子元素(图像)
- 如何更改单击时HTML元素(图像)的顺序
- 无法使用exif获取图像元数据的属性
- 使用JavaScript编写图像元数据
- 如何在Raphael.js中仅针对纸张的第二元素(图像或矩形)
- 单击鼠标,通过将类名从一个元素传递到下一个元素来更改图像
- 我想用html/stylesheet中的文本来更改元素图像