<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
#list { width: 150px; margin: 20px auto; }
#list a { display: block; width: 100%; height: 40px; background: #ccc; margin-top: 10px; color: #fff; text-align: center; line-height: 40px;
cursor: pointer; }
#list li:hover { background-color: #FFE17B; }
#list .active { background-color: orange; }
</style>
</head>
<body>
<ul id="list">
<a href="#">Javascript</a>
<a href="#">Gulp</a>
<a href="#">Angular</a>
<a href="#">Bootstrap</a>
<a href="#">Jquery</a>
</ul>
</body>
<script>
window.onload = function() {
var index = 0; var oList = document.getElementById('list');
var aA = oList.getElementsByTagName('a');
var url = window.location.href; // 初始化页面
init(); // 先写一个功能函数,从链接地址中获取 index 的值
function getIndex(url, key) { if (!url) { return; } var arr = url.slice(url.indexOf('?') + 1).split('&'); return function() {
for(var item in arr) {
var otherArr = arr[item].split('=');
if (otherArr[0] == key) {
return otherArr[1];
};
}
}();
} // 再写一个初始化函数,这个例子中比较简单,只需知道哪一个按钮是当前状态
function init() {
index = getIndex(url, 'index') ? getIndex(url, 'index') : 0; var i = 0, len = aA.length;
for(; i<len; i++) {
aA[i].className = ''; // 根据不同情况处理一下url,然后给href设置上值,你也可以直接在a标签中添加链接,记得要加上index参数
if (url.indexOf('?') > -1) {
if (url.indexOf('index=') > -1) {
url = url.replace(/index=\d*/g, 'index='+i);
} else {
url += '&index='+i;
}
} else {
url += '?index='+i;
} aA[i].setAttribute('href', url); } aA[index].className = 'active';
} }
</script>
</html>

简单写了一个例子,演示了index通过链接传递,是往自己的页面跳转。如果你想跳转到其他页面,将url改一改就行了

来自:https://segmentfault.com/q/1010000003976809 遇见波同学的回答

A标签跳转链接并修改样式的更多相关文章

  1. 总结:js中4类修改样式的方法

    前言 最近在写一个扩展右键菜单的插件,既然是插件,想着一步到位,把相关的style样式设置都丢进js文件中,直接加载一个js文件便可以使用该插件,所以今天就研究了下js批量的插入样式的方法,即addS ...

  2. JavaScript基础之DOM修改样式

    1.获取或设置元素的内容:3个属性:   1. innerHTML: 获取或设置元素开始标签到结束标签之间的所有HTML代码原文.      何时使用:只要获得完整的html代码原文时      优化 ...

  3. 【写一个自己的js库】 5.添加修改样式的方法

    1.根据id或class或tag修改样式,样式名是-连接格式的. function setStyleById(elem, styles){ if(!(elem = $(elem)) return fa ...

  4. 微信小程序 JS动态修改样式

    微信小程序这个坑啊,js动态修改样式,我们并不能用js或者jq 轻轻松松一行代码搞定.或者用removeClass addClass 来修改样式. 以下是一种动态修改样式的方法,原理是绑定数据,然后动 ...

  5. js修改样式表规则

    <div>adasfsfs</div> <div id="div">adasfsfs</div> <div>adasfs ...

  6. vue2.0 通过v-html指令渲染的富文本无法修改样式的解决方案

    在最近的vue项目中遇到的问题:v-html渲染的富文本,无法在样式表中修改样式: 比如下面的代码,div.descBox里面的p标签的color样式并不是"color: blue" ...

  7. vue 使用v-html指令渲染的富文本无法修改样式的解决方法

    最近的vue项目中遇到的问题:v-html渲染的富文本,无法在样式表中修改样式 解决方法: 把需要添加或重置的样式单独放在一个style标签里, 定义为全局样式,代码如下: <style> ...

  8. JQuery动态修改样式

    JQuery动态修改样式 SetStyle(); function SetStyle() { $(".toolbar").remove(); $(".placeholde ...

  9. JavaScript初步学习----基本使用,简单事件,修改样式,数据类型

    JavaScript基本使用 JavaScript原名叫livescript,是一门动态类型,弱类型基于原型的脚本语言   用于页面特效,前后交替,后台开发(node)   JavaScript写在s ...

随机推荐

  1. 学了一天的golang从入门到放弃

    Google的go就是个二货,不实用,它最多只能和c比简单.low!

  2. 20191110 Spring Boot官方文档学习(3)

    3.使用Spring Boot 3.1.构建系统 建议选择Maven或Gradle作为构建工具 每个Spring Boot版本都提供了它所支持的依赖关系的精选列表.实际上,您不需要为构建配置中的所有这 ...

  3. C++智能指针 原理、使用与实现

    目录 理解智能指针的原理 智能指针的使用 智能指针的设计和实现 1.智能指针的作用 C++程序设计中使用堆内存是非常频繁的操作,堆内存的申请和释放都由程序员自己管理.程序员自己管理堆内存可以提高了程序 ...

  4. [Python3] 002 Python3 中常用的命名规则

    目录 1. 什么可以用来命名? 1.1 老三样: 字母.数字.下划线 1.2 其他 2. 什么不能用来命名? Python3 中的"关键字" 3. 命名"小贴士" ...

  5. 关于E980

    1. 浪商官网上面的内容貌似有点问题 来源: https://www.inspurpower.com/product/others.php?f=E980 但是wiki 里面的东西: 其实只有12cor ...

  6. Java - Java Mail邮件开发(3)spring +Java Mail + Velocity

    1.spring + Java Mail + Velocity 项目结构: 注意:用户包中引入各包的顺序问题.如velocity-2.1. beans.xml <?xml version=&qu ...

  7. JavaWeb返回Json格式数据JQuery Ajax无法解析的问题

    今天在写实验室的傻逼Java Web小项目的时候,有一个需要发布内容的地方,因为想做的让用户感觉优雅一点 所以就是用了Ajax来做,本来很简单的一个小玩意,竟然花了半个多小时的时间,主要是将时间花在了 ...

  8. vue组件命名和传值

    一.vue组件命名: 组件有好几种命名方式, 可以使用 component-vue (短横线分隔命名).componentVue  (驼峰式命名) 或ComponentVue  (单词首字母) 因为h ...

  9. npm errno -4048错误

    这种错误是缓存原因导致的,首先清除缓存 npm cache clean --force 然后校验缓存依赖的完整和有效性 npm cache verify 最后重新安装即可

  10. python列表,字典,集合

    初识模块 import sys print(sys.path)#查看化境变量 print(sys.argv)#查看文件的相对路径,但是在pachrm中 会自动转为绝对路径 import os #os. ...