首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >更改多个元素和一个元素的类

更改多个元素和一个元素的类
EN

Stack Overflow用户
提问于 2015-11-06 13:21:18
回答 1查看 20关注 0票数 0

在下面的代码中,我将执行以下操作:

  1. 获取“元素”(链接)中的所有子A标记; 变量链接= element.find("a");
  2. 查找Id位于A标记之一href中的所有Div(窗格); var窗格=links.map(函数() {返回$("#“+ this.href.split("#")1);});
  3. 单击其中一个链接时,我需要从所有窗格中删除类"active“,并将"active”类添加到ID与clickedLink.href.split("#")1相同的窗格中。 Links.bind(“单击”,函数(事件){ panes.not("id*=“+this.href.split(”#“)1).removeClass(”活动“);窗格(”#“+this.href.split(”#“)1).addClass(”活动“)};

我在(2)两个“窗格”上遇到问题.“代码行。

有人能告诉我怎么做吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-06 13:36:22

这样做的典型方法是:

  1. 从所有窗格中删除active
  2. 只要把它加回你想要的

您不需要在panes中为第二部分选择(语法不正确,但这并不重要);id在文档中是唯一的。所以:

代码语言:javascript
运行
复制
links.bind("click", function (event) {    
  $.each(panes, function() { $(this).removeClass("active") });     
  $("#" + this.href.split("#")[1]).addClass("active");
});

代码语言:javascript
运行
复制
var element = $(document.body);
var links = element.find("a");

var panes = links.map(function () { 
  return $("#" + this.href.split("#")[1]); 
});

console.log(panes);

links.bind("click", function (event) {         
  $.each(panes, function() { $(this).removeClass("active") });
  $("#" + this.href.split("#")[1]).addClass("active");
});
代码语言:javascript
运行
复制
.active {
  background-color: red;
}
代码语言:javascript
运行
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="div01">div 01</div>
<div id="div02">div 02</div>
<div id="div03">div 03</div>
<div id="div04">div 04</div>
<div id="div05">div 05</div>

<a href="#div01">link to div 01</a>
<a href="#div02">link to div 02</a>
<a href="#div03">link to div 03</a>
<a href="#div04">link to div 04</a>
<a href="#div05">link to div 05</a>

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33567791

复制
相关文章

相似问题

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