简体   繁体   English

JavaScript classList不起作用。 我尝试了在这里看到的各种方法

[英]JavaScript classList is not working. I've tried various methods I've seen on here

I'm new to JS and for some reason I cannot for the life of me get a simple button to add a class to my links. 我是JS的新手,由于某种原因,我一生无法获得一个简单的按钮来向链接添加类。 I've tried a few different approaches that I've seen on here, and I get nothing. 我尝试了几种我在这里看到的不同方法,但我一无所获。 I'm embarrassed to say I've been at this for about 2 hours. 我很尴尬地说我已经参加了大约2个小时。 I don't want to use jQuery because I want to learn JS, so if you could please provide the answer in raw JavaScript and explain your answer I would appreciate it. 我不想使用jQuery,因为我想学习JS,因此,如果可以的话,请提供原始JavaScript的答案并解释您的答案,我将不胜感激。 Thank you. 谢谢。

html: HTML:

<div class='col-9 text-right'>
    <ul class='navlinks'>
        <li>Home</li>
        <li>Blog</li>
        <li>About</li>
        <li>Contact</li>

    </ul>
    <p class='cheesebrgr'>click</p>
</div>

JS: JS:

    var fries = function () {
       var milkshake = document.getElementsByTagName(' li ');
        for (i = 0; i < milkshake.length; i++); {
            milkshake[i].classList.add('op1');
        }   
    };
    var napkin = document.getElementsByClassName('cheesebrgr');
    napkin.addEventListener('click', fries);

**just read two more similar questions with no luck. **请再读两个类似的问题,不要碰运气。

There are couple of problems in your code 您的代码中有几个问题

  1. document.getElementsByClassName() returns a list so you have to iterate to attach event listener document.getElementsByClassName()返回一个列表,因此您必须迭代以附加事件侦听器
  2. You are misplace ; 你放错地方; in and terminated for loop 在并终止for

Code

for (i = 0; i < milkshake.length; i++); //<//misplace semi-colon end of for loop

 var fries = function() { var milkshake = document.getElementsByTagName('li'); for (var i = 0; i < milkshake.length; i++) { milkshake[i].classList.add('op1'); } }; var napkin = document.getElementsByClassName('cheesebrgr'); napkin[0].addEventListener('click', fries); //If you single element with cheesebrgr class //var napkin2 = document.querySelector('.cheesebrgr'); //napkin2.addEventListener('click', fries); 
 .op1 { color: red; } 
 <div class='col-9 text-right'> <ul class='navlinks'> <li>Home</li> <li>Blog</li> <li>About</li> <li>Contact</li> </ul> <p class='cheesebrgr'>click</p> </div> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 我第一次在javascript中看到这种语法 - First time I've seen this syntax in javascript 我见过最疯狂的JavaScript行为 - Craziest JavaScript behavior I've ever seen 我试过在 JavaScript 中设置我的 Canvas 但它不起作用 - I've tried setting up my Canvas in JavaScript and it isn't working Javascript/Jquery:代码不重复我尝试过的任何循环 - Javascript/Jquery: code not repeating with any loop I've tried “无法读取 null 的属性‘过滤器’”(与我在这里看到的其他解决方案略有不同) - "Cannot read property 'filter' of null" (slightly idfferent to other solutions i've seen here) 网站的移动视图不滚动,我已经尝试了迄今为止我在 slack 上看到的所有溢出和溢出滚动变体 - mobile view of website does not scroll, I have tried every overflow and overflow-scrolling variation I've seen on slack so far 我有一个不工作的 AJAX 函数 - I've a not working AJAX function jQuery添加一个类-我尝试过的所有方法均会在单击时删除该类 - jQuery adding a class - all methods I've tried remove the class on click Javascript 拒绝让我创建一个字符串(意外的字符错误)我见过的最奇怪的事情 - Javascript refuses to let me make a string (unexpected character error) Weirdest thing I've ever seen 为什么我的 javascript 不能重定向以下代码,我尝试了多种解决方案,我在 StackOverFlow 中找到了 - Why can't my javascript redirect the following code, I've tried multiple solution that i found in StackOverFlow
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM