var li1 = document.querySelector("nav ul li:nth-child(1)") li1.onclick = function(){ window.location.href = ["index.html"] } var li2 = document.querySelector("nav ul li:nth-child(2)") li2.onclick = function(){ window.location.href = ["2.html"] } var li3 = document.querySelector("nav ul li:nth-child(3)") li3.onclick = function(){ window.location.href = ["3.html"] } var li4 = document.querySelector("nav ul li:nth-child(4)") li4.onclick = function(){ window.location.href = ["4.html"] }有报错
时间: 2024-03-15 15:44:27 浏览: 338
根据你提供的代码,我并没有看到明显的报错。但是,我注意到你在 `window.location.href` 中传递的参数是一个数组,而不是一个字符串,这可能会导致跳转不成功。你可以把数组改为字符串,例如:
```
li1.onclick = function(){
window.location.href = "index.html";
}
li2.onclick = function(){
window.location.href = "2.html";
}
li3.onclick = function(){
window.location.href = "3.html";
}
li4.onclick = function(){
window.location.href = "4.html";
}
```
这样就可以正常跳转页面了。
相关问题
<script> window.onload = function(){ var ul = document.querySelector("ul"); var lis = document.querySelectorAll("li"); for(var i=0; i<lis.length; i++){ lis[i].index = i; lis[i].onclick = function(event){ event = event || window.event; console.log(event.target.innerText, event.target.index); } } ul.addEventListener("click",function(e){ e = e || window.event; console.log(e.target.innerText, e.target.index); },false); for(var i=0; i<lis.length; i++){ lis[i].index = i; } var btn = document.querySelector("#btn"); var txt = document.querySelector("#txt"); btn.onclick = function(){ var li = document.createElement("li"); li.innerText = txt.value; ul.appendChild(li); } } </script>
这是一段 JavaScript 代码,主要实现了以下功能:
1. 获取 ul 元素和所有的 li 元素,并为每个 li 元素添加一个 index 属性。
2. 给每个 li 元素添加一个点击事件,当点击时,会在控制台输出该 li 元素的文本内容和 index 值。
3. 给 ul 元素添加一个点击事件,当点击 li 元素时,会在控制台输出该 li 元素的文本内容和 index 值。
4. 给添加按钮 btn 添加一个点击事件,当点击时,会创建一个新的 li 元素,并将其添加到 ul 元素中。
值得注意的是,代码中使用了事件委托,即将事件绑定到父元素上,通过 event.target 来获取触发事件的子元素。这样可以减少事件绑定的数量,提高页面性能。
<div class="hf"> <ul class="hf-ul"> <li class="hf-li"><img src="images/1.jpg"></li> <li class="hf-li"><img src="images/2.jpg"></li> <li class="hf-li"><img src="images/4.jpg"></li> </ul> </div> var div1=document.querySelector(".hf") var btn=document.querySelector("button") var lis=document.getElementsByClassName('hf-li') //给按钮绑定点击事件 btn.onclick=function(){ //获取当前div对象的高度 var h1=div1.style.height //判断当前div的高度是否等于260px if(h1=="260px"){ div1.style.height="0px" document.querySelector("#MainMenu").style.margin="0 0 0 0" }else{ div1.style.height="260px" document.querySelector("#MainMenu").style.margin="260px 0 0 0" } } //遍历li对象 for(var i=0;i<lis.length;i++){ //给每个li对象绑定点击事件 lis[i].onclick=function(){ //获取当前li对象中的图片路径 var imgUrl=this.lastElementChild.getAttribute("src") //给body对象设置背景图片 document.body.style="background:url("+imgUrl+") ;background-size: 100% 100%;" document.querySelector("#MainMenu").style.margin="0 0 0 0" //让div对象隐藏 div1.style.height="0px" } }这段代码的意思
这段代码是一段 JavaScript 代码,主要实现以下功能:
1. 当点击按钮时,如果当前 div 的高度为 260px,则将其高度设为 0px,并将 id 为 MainMenu 的元素的 margin 设为 0 0 0 0;否则将其高度设为 260px,并将 id 为 MainMenu 的元素的 margin 设为 260px 0 0 0。
2. 遍历所有 class 为 hf-li 的 li 元素,并给每个 li 元素绑定点击事件。当点击某个 li 元素时,获取该 li 元素下的图片路径,并将 body 元素的背景图片设为该路径所对应的图片,并将 id 为 MainMenu 的元素的 margin 设为 0 0 0 0,同时将 div 元素设为隐藏(高度为 0px)。
阅读全文