Javascript循环拒绝执行功能

标签 javascript html css

我的 javascript 更改了 innerHTML,但拒绝为其添加延迟。我的目标是制作一个将列表项紧接着移动的菜单,但这仅适用于前两个列表项。我使用了 innerHTML,所以我可以看看它是否触及它们。我不确定什么不起作用。我做了 x[0]、x[1].. 等等,它起作用了。还有另一个问题 :D,如何选择某个 ID 中带有 TagName 的所有元素?

JS:

    var x = document.getElementsByTagName("LI");
    var delay = 0;
        for (i=0; i<=x.length; i++){

            x[i].style.padding = "0 0 0px 20px";
            x[i].style.transition = "1s " + delay +"s !important"
            x[i].innerHTML = "Changed";
            delay += "0.1";
        }

HTML:

       <header class = "mainHeader">
            <nav>
                <ul id = "mainNav">
                    <li id = "search"><img src = "img.png"><input type = "text" placeHolder = "" id = "search"></li>
                    <li><a href ="#">HOME</a></li>
                    <li><a href ="#">ABOUT</a></li>
                    <li><a href = "#">PHOTOGRAPHY</a></li>
                    <li><a href ="#">PROJECTS</a></li>
                    <li><a href ="#">CONTACT</a></li>

                </ul>
            </nav>
    </header>`

最佳答案

尝试

delay = delay + 0.1;

不使用 ""因为这使它成为一个字符串,因此它不会表现为数字并将数字递增 0.1,它将开始变为 00.10.10.10.1 等

回答

How can I select all elements with TagName in a certain ID?

使用 JQuery:

$('tagname#some_id')

$('tagname[id="some_id"]')

关于Javascript循环拒绝执行功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25067635/

相关文章:

css - 将段落中的链接设置为 "display: inline-block",然后选择/突出显示整个段落时,链接上方会出现一个小块?

javascript - 为什么 document.getElementById ('files' ) 返回 null?

html - 无法将样式应用于 safari 中的标签 pre

html - 在不使用 webpack 的情况下要求 HTML 文件中的 CSS 文件

html - 水平时间线上的内容

html - 格式错误的开始标记。属性应该用空格分隔。

html - CSS border-image 基础知识

javascript - 无法检索 Angularjs $scope 数组最后一个对象

javascript - 为 D3 Force Directed 格式化 JSON 的最佳方式

javascript - 解决错误错误 : "[object Object]" in angular