JS 实现点击<a> 标签的时候给其换背景

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<script type=text/javascript src="alabel.js"></script>
<style type="text/css">
.curr{background:blue;display:inline;}
</style>

</head>
<body>
<div class="">
 <span><a href="#">1</a></span>
</div>

</body>
</html> 

在alabel.js中:

window.onload = function ()
{
 var aspan = document.getElementsByTagName("span");
 var i = 0; 
 for (i = 0; i < aspan.length; i++)
 {  
  aspan[i].onclick = function ()
  {
   for (i = 0; i < aspan.length; i++) aspan[i].className = "";
   this.className = "curr";
  };
 }
};
这样就可以实现在点击a标签的时候给其添加红色的背景。

注意:curr的属性中display不能是block,否则添加的背景是一整行。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 这个网站使用了一个叫做 "highlight.js" 的库来实现代码高亮。你可以在这里下载并使用它:https://highlightjs.org/ 使用方法如下: 1. 下载库文件并包含在你的HTML文件中 ```html <link rel="stylesheet" href="path/to/styles/default.css"> <script src="path/to/highlight.min.js"></script> ``` 2. 在需要高亮的代码块外面包含一个`<pre><code>`标签,并在`code`标签中添加语言类型的class(如:`class="javascript"`) ```html <pre><code class="javascript"> // 你的代码 </code></pre> ``` 3. 在页面加载完成后调用 `hljs.initHighlightingOnLoad()` 方法 ```html <script> hljs.initHighlightingOnLoad(); </script> ``` 完整示例: ```html <!DOCTYPE html> <html> <head> <link rel="stylesheet" href="path/to/styles/default.css"> <script src="path/to/highlight.min.js"></script> <script> hljs.initHighlightingOnLoad(); </script> </head> <body> <pre><code class="javascript"> function add(a, b) { return a + b; } </code></pre> </body> </html> ``` 需要注意的是,上面给出的"path/to"部分需要根据你的实际路径调整。 ### 回答2: https://zh.javascript.info/structure 网站的代码展示主要是由JavaScript配合HTML和CSS来实现的。要实现相同的功能,我们可以按照以下步骤进行: 1. 创建HTML结构:首先,创建一个包含所有代码示例的HTML页面。可以使用`<pre>`标签来保留代码的格式。在代码示例前面添加一个按钮,点击按钮可以展开/收起代码。 ```html <!DOCTYPE html> <html> <head> <title>代码展示</title> <style> pre { display: none; /* 默认隐藏代码 */ } </style> </head> <body> <button onclick="toggleCode()">展开/收起代码</button> <pre id="codeBlock"> // 这里是示例代码 function helloWorld() { console.log("Hello, World!"); } helloWorld(); </pre> <script> function toggleCode() { var codeBlock = document.getElementById("codeBlock"); if (codeBlock.style.display === "none") { codeBlock.style.display = "block"; } else { codeBlock.style.display = "none"; } } </script> </body> </html> ``` 2. 添加样式:使用CSS来美化代码显示区域。可以通过添加样式来设置代码块的字体、背景、边框等。 ```css pre { display: none; font-family: "Courier New", monospace; background-color: #f4f4f4; border: 1px solid #ccc; padding: 10px; } ``` 3. 添加交互功能:为展开/收起按钮添加点击事件,通过JavaScript来切换代码块的显示状态。 ```javascript function toggleCode() { var codeBlock = document.getElementById("codeBlock"); if (codeBlock.style.display === "none") { codeBlock.style.display = "block"; } else { codeBlock.style.display = "none"; } } ``` 以上是一个简单的代码展示实现点击按钮可以展开或收起代码示例区域。可根据需要进行样式和功能上的修改和扩展。代码示例中的样式和JavaScript函数可以根据实际情况进行调整。 ### 回答3: 在网站https://zh.javascript.info/structure中,代码展示是通过在网页中嵌入代码块来实现的。具体的实现方法如下: 1. 在HTML中,使用`<pre>`和`<code>`标签来包裹代码块。`<pre>`标签用于保留代码中的换行和空格,`<code>`标签用于指定代码的样式。 ```html <pre><code> // 这里放置代码 </code></pre> ``` 2. 在代码块的前面加上行号。可以使用CSS样式中的`counter-reset`和`counter-increment`属性来实现。`.line-numbers`表示代码块的类名,可以根据需要进行自定义。 ```css .line-numbers { counter-reset: line; } .line-numbers code::before { content: counter(line); counter-increment: line; display: inline-block; width: 30px; // 根据需要调整行号的宽度 text-align: right; padding-right: 10px; // 根据需要调整行号与代码之间的间距 } ``` 3. 使用highlight.js库来为代码块添加语法高亮。首先,引入highlight.js的核心库和所需的语言库。然后,在代码块上添加合适的类名。例如,如果代码块中的代码是JavaScript,可以使用`.javascript`类。 ```html <head> <link rel="stylesheet" href="path/to/highlightjs/styles/default.css"> <script src="path/to/highlightjs/highlight.pack.js"></script> </head> <body> <pre><code class="javascript"> // 这里放置JavaScript代码 </code></pre> <script> hljs.initHighlightingOnLoad(); </script> </body> ``` 这样就可以实现网站https://zh.javascript.info/structure的代码展示功能了。请根据需求自行调整代码,注意替换路径中的`path/to/highlightjs`为实际的路径。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值