首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >jquery为title元素分配相同类的不同值。

jquery为title元素分配相同类的不同值。
EN

Stack Overflow用户
提问于 2017-02-21 22:40:46
回答 2查看 75关注 0票数 3

编辑-修复自己造成的错误。

我有一组图片和他们的网址。他们都在同一个班里。我想根据它们的索引位置为图像指定一个新的标题。例如,图像1-3应该是“辐射花”,4-6将是光荣的灌木。

代码语言:javascript
运行
复制
    $('.flower').each(function (index, value) { 
      console.log(index + ':' + $(this).attr('title'));
      if (index === 2)) {
        $('.flower').attr('title',"Radiant Flowers");
      } 
    });

控制台显示了以下输出:

  • 马利波萨百合-金合欢属植物
  • 1:马利波萨百合-金合欢种
  • 2:马利波萨百合-金合欢种
  • 3:辐射花卉

所以当我检查元素时,标题都变成了辐射花。我注意到的是,当我能够让它正常工作时,代码会改变所有的值,而不是我希望影响的值。有办法这样做吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-02-21 22:43:41

您的parseInt有一个错误的论点:‘索引’>2您应该将它更改为parseInt(索引)> 2,我认为.

关于实际问题:循环遍历元素,检测要修改的元素.然后用类“花”修改所有元素。

做这件事的好方法是把它放在你的“if”中:$( this ).attr('title',“”);

原因是$('.flower')将选择CSS类“花”的所有元素,但只需要更改当前元素。这就是为什么$(这个)应该起作用的原因。更好的是,您可以使用$(value),因为"value“是指向foreach循环中当前元素的变量。

票数 2
EN

Stack Overflow用户

发布于 2017-02-22 15:00:24

这里发生的是,这一行:$('.flower').attr('title',"Radiant Flowers");实际上用类flower来更改元素的所有,而不是您想要更改的元素。

为了解决这个问题,在您的代码中,更改以下内容:

代码语言:javascript
运行
复制
if (index === 2)) {
    $('.flower').attr('title',"Radiant Flowers");
} 

代码语言:javascript
运行
复制
if (index > 2)) {
    $(this).attr('title',"Radiant Flowers");
} 
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42379368

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档