使用Javascript将高度更改为div中的所有元素
我有一个带有ID的ul标签,点击一个按钮,我就想改变div本身的高度和显示,以及该div内每个a标签的高度和显示 我无法选择每个标签并更改其样式 我只想使用javascript 我的加价使用Javascript将高度更改为div中的所有元素,javascript,html,css,Javascript,Html,Css,我有一个带有ID的ul标签,点击一个按钮,我就想改变div本身的高度和显示,以及该div内每个a标签的高度和显示 我无法选择每个标签并更改其样式 我只想使用javascript 我的加价 <ul id="mobile_nav" > <a href="about.html" class="images" ><li><p>about me</p></li></a> <a href="wor
<ul id="mobile_nav" >
<a href="about.html" class="images" ><li><p>about me</p></li></a>
<a href="work.html" class="images"><li><p>work</p></li></a>
<a href="letstalk.html" class="images"><li ><p>let's talk</p></li></a>
</ul>
正如您所写的,您可以通过以下方式找到您所关注的所有元素:
var elements = document.getElementById('mobile_nav').getElementsByTagName('a');
上面的结果是NodeList
。您可以这样遍历它:
for (var i = 0, len = elements.length; i < len; i++){
elements[i].style.height = "25px";
}
for(变量i=0,len=elements.length;i
您的HTML无效,因此您的DOM将不同于您的HTML所暗示的内容,并且基于该HTML/DOM的任何JavaScript都可能无法工作。ul
或ol
元素中唯一有效的子元素是li
。所以我不能在a
来包装li
,这就是我说的。明白了……有道理……我觉得有点不对劲!哈哈,干杯你为什么要用for loop?节点列表不是对象?不能在节点列表上使用foreach函数。要了解更多信息,您可以查看我在执行console.log(typeof(a))时作为对象出现的情况,因此我没有尝试For循环,但它似乎在工作……我很高兴知道原因tho@AlexG_1010100101查看提供的链接。(NodeList是访问DOM元素的基本接口)
for (var i = 0, len = elements.length; i < len; i++){
elements[i].style.height = "25px";
}