3

我需要将alt属性添加到我的每个网页上的每个图像。问题是其中一些网页上有数百张图像。

谁能建议一种使用 JavaScript 或 jQuery 的方法,对于页面上的每个图像,将图像的名称(减去扩展名)复制到新alt属性?

前:

<img src="android.jpg width="100" height="50" />

之后(不包括“.jpg”)

<img src="android.jpg width="100" height="50" alt="android" />
4

3 回答 3

13

在 jQuery 中:

$(document).ready(function() {
  $('img').each(function(){
    var $img = $(this);
    var filename = $img.attr('src')
    $img.attr('alt', filename.substring(0, filename.lastIndexOf('.')));
  });
});

您可以通过添加以下内容来询问是否 alt 属性尚不存在

var attr = $(this).attr('alt');
    if (typeof attr == typeof undefined || attr == false) {
于 2011-04-27T07:41:15.303 回答
3

这是一种 JavaScript 方法:

function runScript() {
    for (i = 0; i < document.getElementsByTagName("img").length; i++) {
        document.getElementsByTagName("img")[i].setAttribute(
            "alt", document.getElementsByTagName("img")[i].src);
    }
}

runScript()加载页面后运行该函数!

于 2011-04-27T07:37:03.643 回答
0

该脚本可以帮助您处理您的工作。它将在 alt 属性中附加图像的文件名

<script src='http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js' type='text/javascript'/>  
 <script type='text/javascript'>  
 //<![CDATA[  
 $(document).ready(function() {  
  $('img').each(function(){  
   var $img = $(this);  
   var filename = $img.attr('src')  
   $img.attr('title', filename.substring((filename.lastIndexOf('/'))+1, filename.lastIndexOf('.')));  
   $img.attr('alt', filename.substring((filename.lastIndexOf('/'))+1, filename.lastIndexOf('.')));  
  });  
 });  
 //]]>  
 </script>
于 2014-09-18T13:53:19.740 回答