Javascript更改标记名的样式

Javascript更改标记名的样式,javascript,getelementbyid,getelementsbytagname,Javascript,Getelementbyid,Getelementsbytagname,我试图完成一个滚动功能,根据滚动位置修改标题样式 我对JS的了解是有限的,所以如果这是一个简单的解决方法,请耐心等待 Codepen项目位于 window.onscroll=function(){scrollHeaderScrinkFunction()}; 函数ScrollHeaderScrinkFunction(){ 如果(document.body.scrollTop>50 | | document.documentElement.scrollTop>50){//收缩时 document.

我试图完成一个滚动功能,根据滚动位置修改标题样式

我对JS的了解是有限的,所以如果这是一个简单的解决方法,请耐心等待

Codepen项目位于

window.onscroll=function(){scrollHeaderScrinkFunction()};
函数ScrollHeaderScrinkFunction(){
如果(document.body.scrollTop>50 | | document.documentElement.scrollTop>50){//收缩时
document.getElementById(“header”).style.height=“30px”;
document.getElementById(“header”).style.fontSize=“1.0em”;
document.getElementById(“header”).style.borderBottom=“1px solid#333”;
}else{//默认值
document.getElementById(“header”).style.height=“90px”;
document.getElementById(“header”).style.fontSize=“3em”;
document.getElementById(“header”).style.borderBottom=“3px solid#333”;
}
}
#标题{
背景色:#f1f1;
填充:10px;
颜色:黑色;
文本对齐:居中;
字号:2em;
位置:固定;
排名:0;
左:0;
宽度:100%;
过渡:1s;
}
#收割台img{
最大高度:100%;
}

标题
收缩头标志

Lorem ipsum door dummy text sit amet,concetetur adipiscing elit,sed do eiusmod temporal incident ut laboure and dolore magna aliqua。但是,在最低限度上,我们需要一个实验室来进行日常工作。两人或两人在一个无教区的房间里互相指责。除偶尔因疏忽而死亡外,不得因疏忽而导致动物死亡

Lorem ipsum door dummy text sit amet,concetetur adipiscing elit,sed do eiusmod temporal incident ut laboure and dolore magna aliqua。但是,在最低限度上,我们需要一个实验室来进行日常工作。两人或两人在一个无教区的房间里互相指责。除偶尔因疏忽而死亡外,不得因疏忽而导致动物死亡

Lorem ipsum door dummy text sit amet,concetetur adipiscing elit,sed do eiusmod temporal incident ut laboure and dolore magna aliqua。但是,在最低限度上,我们需要一个实验室来进行日常工作。两人或两人在一个无教区的房间里互相指责。除偶尔因疏忽而死亡外,不得因疏忽而导致动物死亡

Lorem ipsum door dummy text sit amet,concetetur adipiscing elit,sed do eiusmod temporal incident ut laboure and dolore magna aliqua。但是,在最低限度上,我们需要一个实验室来进行日常工作。两人或两人在一个无教区的房间里互相指责。除偶尔因疏忽而死亡外,不得因疏忽而导致动物死亡


函数
getElementsByTagName
返回一个元素数组,而不仅仅是一个

因此,您需要循环这些元素:

var elems = document.getElementsByTagName("p");
for(const elem of elems) {
    elem.style.height = "30px";
}

问题是什么?代码笔似乎工作正常。代码笔工作正常,但该示例使用了id为header的div。我正在尝试切换html5标记,而不是将默认高度设置为90px,这似乎只起作用fine@RichardOwens你在这里使用的元素实际上并不重要matter@LucaKiebel这确实回答了我的问题。奇怪的是,getElementsByTagName()会更改所有标记。。。。?我会添加一个唯一的ID…我不是那个投票反对这个的人,但考虑到2020年,JS社区应该开始推广新的标准(const、let、for of等)。这是一个非常常见的问题,我们不需要更多的答案。我投了赞成票,但这不是我将使用的解决方案。我只需将唯一id添加到元素中。答案更新@avejidah。我不太确定是否可以将of与DOM元素数组一起使用。