自动将“alt”属性添加到页面上的每个图像

时间:2011-04-27 07:33:36

标签: javascript jquery html image alt

我需要在每个网页上的每个图片中添加alt属性。问题是某些网页上有数百的图片。

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

之前:

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

之后(不包括“.jpg”)

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

3 个答案:

答案 0 :(得分:12)

在jQuery中:

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

您可以通过添加以下内容来询问alt属性是否为already exist

var attr = $(this).attr('alt');
    if (typeof attr == typeof undefined || attr == false) {

答案 1 :(得分: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()

答案 2 :(得分: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>