首页 > 解决方案 > jQuery img alt 属性末尾带有变量

问题描述

我正在尝试在alt属性末尾添加一个变量,以使页面上的所有 alt 都不同。这怎么可能。

此代码有效

$('.MyClassName img:not([alt])').attr('alt', 'Alternative text');

但是此代码需要更改 - 它不起作用!

var x = 1;
$('.rte img:not([alt])').attr('alt', 'Alternative text' + $x);

标签: jqueryalt

解决方案


在您的代码中,声明的变量x不是$x. 声明变量$或更新attr()以使用定义的变量。以下以不同的方式声明变量。

注意:下面的代码将尝试使用MyClassNamecss 类更新所有元素。根据您的需要更新选择器。

$('.MyClassName').attr('alt', 'Alternative text');
console.log($('.MyClassName').attr('alt'));

var x = 1;
$('.MyClassName').attr('alt', 'Alternative text' + x);
console.log($('.MyClassName').attr('alt'));

var $x = '$1';
$('.MyClassName').attr('alt', 'Alternative text' + $x);
console.log($('.MyClassName').attr('alt'));

// won't work as $y not defined
var y = 1;
$('.MyClassName').attr('alt', 'Alternative text' + $y);
console.log($('.MyClassName').attr('alt'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<img class="MyClassName" alt="">


推荐阅读