style.display=none不起作用
时间: 2023-04-30 15:00:26 浏览: 78
可能是因为该元素的display属性已经被其他样式覆盖了,或者该元素本身就没有display属性。可以尝试使用其他样式属性来隐藏元素,比如设置opacity为或者设置visibility为hidden。
相关问题
var radioButton = document.querySelector("td[colno='IS MILITARY_INSp']"); var trA = document.querySelector("tr[type='first']");var trB = document.querySelector("tr[type='second']"); console.log(radioButton.value);if ( radioButton.value == 2') // 1 , 2 否 trA.style.display =none trB.style.display ='none
你的代码中有一些语法错误和逻辑问题。首先,`console.log(radioButton.value);` 这行代码缺少分号。然后,`if (radioButton.value == 2')` 这行代码的条件表达式中有一个额外的单引号,应该是 `if (radioButton.value == '2')`。此外,`trA.style.display =none` 和 `trB.style.display ='none'` 这两行代码的样式值应该是字符串,因此应该写成 `trA.style.display = 'none'` 和 `trB.style.display = 'none'`。
修正后的代码如下所示:
```javascript
var radioButton = document.querySelector("td[colno='IS MILITARY_INSp']");
var trA = document.querySelector("tr[type='first']");
var trB = document.querySelector("tr[type='second']");
console.log(radioButton.value);
if (radioButton.value == '2') {
trA.style.display = 'none';
trB.style.display = 'none';
}
```
请确保在正确的文档上下文中运行此代码,并确保相关的 HTML 元素存在。
请指出下面代码的错误var smis=document.querySelectorAll("#smi"); var jpgs=document.querySelectorAll("#jpg"); jpgs[0].style.display="block"; smis[0].style.padding="1px"; smis[0].style.border="1px solid gray"; for (var i=0;i<smis.length;i++){ smis[i].setAttribute('index',i); smis[i].onclick=function(){ for(var i=0;i<smis.length;i++){ smis[i].style.border="0"; smis[i].style.padding="0"; } this.style.padding="1px"; this.style.border="1px solid gray"; var index=this.getAttribute("index"); for(var i=0;i<smis.length;i++){ jpgs[i].style.display="none"; } jpgs[index].style.display="block"; } } var but=document.getElementById("but"); var j=1; function change(){ for(var i=0;i<jpgs.length;i++){ jpg[i].style.display="none"; smis[i].style.border="0"; smis[i].style.padding="0"; } if(j==4) j=0; jpg[j].style.display="block"; smis[j].style.padding="1px"; smis[j].style.border="1px solid gray"; j++; } var change=setInterval(change,1000); for(i=0;i<jpgs.length;i++){ jpgs[i].onmouseover=function(){ clearInterval(change); } } for(i=0;i<jpgs.length;i++){ jpgs[i].onmouseout=function(){ change=setInterval(change,1000); } }
代码中的错误在于第26行的变量名重复,将 setInterval 的返回值赋值给了与函数同名的变量,导致函数无法被正确调用。需要将变量名改成其他名称,如下所示:
```
var smis=document.querySelectorAll("#smi");
var jpgs=document.querySelectorAll("#jpg");
jpgs[0].style.display="block";
smis[0].style.padding="1px";
smis[0].style.border="1px solid gray";
for (var i=0;i<smis.length;i++){
smis[i].setAttribute('index',i);
smis[i].onclick=function(){
for(var i=0;i<smis.length;i++){
smis[i].style.border="0";
smis[i].style.padding="0";
}
this.style.padding="1px";
this.style.border="1px solid gray";
var index=this.getAttribute("index");
for(var i=0;i<smis.length;i++){
jpgs[i].style.display="none";
}
jpgs[index].style.display="block";
}
}
var but=document.getElementById("but");
var j=1;
function change(){
for(var i=0;i<jpgs.length;i++){
jpgs[i].style.display="none";
smis[i].style.border="0";
smis[i].style.padding="0";
}
if(j==4)
j=0;
jpgs[j].style.display="block";
smis[j].style.padding="1px";
smis[j].style.border="1px solid gray";
j++;
}
var interval=setInterval(change,1000);
for(i=0;i<jpgs.length;i++){
jpgs[i].onmouseover=function(){
clearInterval(interval);
}
}
for(i=0;i<jpgs.length;i++){
jpgs[i].onmouseout=function(){
interval=setInterval(change,1000);
}
}
```