修改JavaScript脚本:从图片URL提取不含短横线与.jpg的alt文本
修复后的脚本及说明
问题分析
原脚本存在两个关键问题:
- 未定义变量
attr,导致判断逻辑完全失效,会强制覆盖所有图片的alt属性 - 未处理文件名中的
-字符,不符合需求要求
修复后的代码
$(document).ready(function() { $('img').each(function(){ var $img = $(this); var currentAlt = $img.attr('alt'); var filename = $img.attr('src'); // 仅当alt属性为空或不存在时才设置 if (!currentAlt) { // 提取去掉路径和后缀的文件名 var baseName = filename.substring(filename.lastIndexOf('/') + 1, filename.lastIndexOf('.')); // 全局替换所有"-"字符 var altText = baseName.replace(/-/g, ''); $img.attr('alt', altText); } }); });
效果说明
针对示例图片 <img class="img" src="https://photoooo.com/Name-Name2.jpg" width="200" height="300" />,修复后会自动设置alt属性值为NameName2,完全符合提取名称并排除-和.jpg的需求。
内容的提问来源于stack exchange,提问作者Rafal
相关产品推荐
相关产品推荐

