gpt4 book ai didi

javascript - 为什么 getElementsByClassName 不起作用?

转载 作者:太空宇宙 更新时间:2023-11-03 20:40:22 25 4
gpt4 key购买 nike

我正在尝试检测屏幕分辨率,然后为多个屏幕分辨率设置位置(如顶部、左侧),但它不起作用。有人知道我的代码有什么问题吗?

CSS:

.Scrolloutside
{
position:relative;
left: 550px;
}

JavaScript:

  var nHeight = screen.height;
var nWidth = screen.width;
if (nHeight ==714 && nWidth==1005)
{
//document.write("height:"+nHeight+" ,width="+nWidth+"<br>");
var newsTarget = document.getElementsByClassName('Scrolloutside');
newsTarget.style.top= "500px";
}

html:

<div class = "Scrolloutside">
<div class="scroller_title">News</div>
<div class="scroller_container">
<div class="jscroller2_up">
<?
echo $secnews;
?>
</div>
</div>
</div>
</div>

最佳答案

document.getElementsByClassName() 返回一个 nodeListHTMLCollection,它们都是元素列表,而不是单个元素。即使只有一个匹配元素,它仍然会返回一个列表,其中只有一个元素。因此,您必须获取列表中的第一项或遍历整个列表(取决于您的代码需要什么)。

从列表中获取第一项(如果您可以假设只有一项具有类名):

var newsTarget = document.getElementsByClassName('Scrolloutside');
newsTarget[0].style.top= "500px";

或遍历列表(如果可能有多个元素具有该类名):

var newsTarget = document.getElementsByClassName('Scrolloutside');
for (var i = 0; i < newsTarget.length; i++) {
newsTarget[i].style.top= "500px";
}

关于javascript - 为什么 getElementsByClassName 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26881515/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com