Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript style.display不';好像不行_Javascript_Css - Fatal编程技术网

Javascript style.display不';好像不行

Javascript style.display不';好像不行,javascript,css,Javascript,Css,我试图隐藏/显示某些元素,但它仅在使用父节点而不是子元素时才起作用。有人知道为什么会这样吗 const ulList = document.querySelector('ul'); const studentList = ulList.querySelectorAll('li'); ulList.style.display = 'none'; // (when I do it like this, everything is fine). studentList.style.display

我试图隐藏/显示某些元素,但它仅在使用父节点而不是子元素时才起作用。有人知道为什么会这样吗

const ulList = document.querySelector('ul');
const studentList = ulList.querySelectorAll('li');

ulList.style.display = 'none'; // (when I do it like this, everything is fine).

studentList.style.display = 'none'; // (but if I do it like these, the error "Uncaught TypeError: Cannot set property 'display' of undefined" appears on the console)
谢谢你的帮助

querySelector()
仅返回第一个匹配的单个元素,但
querySelector()返回列表。必须对所有列表项应用样式。
请尝试以下方法:

const studentList = document.querySelectorAll('li');

studentList.forEach(function(li){
  li.style.display = 'none';
});

我明白你说的…但是为什么当我这样做(在循环中也是如此)时,“block”的display属性不起作用。解释器只是忽略了它:

const ulList = document.querySelector('ul');
const studentList = document.querySelectorAll('li');

ulList.style.display = 'none';

for (let i = 0; i < studentList.length; i += 1) {
    if ((i + 1) >= numPage && i < y) {
        studentList[i].style.display = 'block';
    }
}
const ulList=document.querySelector('ul');
const studentList=document.queryselectoral('li');
ulList.style.display='none';
for(设i=0;i=numPage&&i

不要注意条件。这是我代码的一部分。循环和条件运行,当索引为0的第一个元素收到block属性时,不会发生任何事情。

为什么要使用
jquery
标记?这与jquery无关。我明白你说的……但是为什么我这样做(在循环中也是如此)时,“block”的display属性不起作用?解释器只是忽略它:constullist=document.querySelector('ul');const studentList=document.queryselectoral('li');ulList.style.display='none';对于(设i=0;i=numPage&&iif((i+1)>=numPage&&i
。正如我所说的问题在于
if
条件。顺便说一下,当
ul
设置为显示无时,所有子
li
的样式
display='block'
的效果和意义都会降低。您的父级设置为显示:无,对吗?这就是问题所在。。。将ul设置为display没有太大意义:在这种情况下,无