Javascript 在页面加载或单击时将类添加到对象

Javascript 在页面加载或单击时将类添加到对象,javascript,onclick,onload,Javascript,Onclick,Onload,这是我在wordpress中的当前代码: <div class="entry-content"> <a href="<?php echo $currenturl.'?material=&type='.$get_type; ?>">All Materials</a> <?php

这是我在wordpress中的当前代码:

<div class="entry-content">
                <a href="<?php

                echo $currenturl.'?material=&type='.$get_type;
                ?>">All Materials</a>

                <?php
                $materials = get_field('materials',$valueid);
                foreach($materials as $id):?>
                    <a href="<?php
                        $matterm = get_term($id,'materials');
                        $matslug = $matterm->slug;
                        $mattitle = $matterm->name;
                        echo $currenturl."?material=".$matslug.'&type='.$get_type;
                        ?>"><?php
                            echo $mattitle;
                        ?>
                    </a>
                <?php endforeach; ?>
            </div>

这是电流输出:

<div class="entry-content">
    <a href="#>Material 1</a>
    <a href="#>Material 1</a>

</div>

我希望代码的输出是:

<div class="entry-content">
    <a class="current" href="#>Material 1</a>
    <a href="#>Material 1</a>

</div>

我的头上有这个脚本,但它无法运行:

<script type="text/javascript">
    window.onload = function() {
  document.getElementById('entry').className = 'current';
};


</script>

window.onload=函数(){
document.getElementById('entry')。className='current';
};

您混淆了类和id(或者只是省略了id)。如果您执行了
console.log(getElementById(“entry”)
,我打赌您会返回
null

,我想您必须替换它

window.onload = function() {
   var parentDiv = document.getElementsByClassName('entry-content');
   parentDiv.childNodes[0].className = 'current';
};
在代码中:

 document.getElementById('entry').className = 'current';
这是一个javascript方法,用于获取具有特定
ID

而且您的HTML不正确,您忘记了href的结尾

您应该像这样编写HTML-

<div class="entry-content">
    <a id="entry" href="#">Material 1</a>
    <a href="#">Material 1</a>
</div>


在做了上述更改之后,您的代码工作得很好。

是这样吗,先生?.window.onload=function(){console.log(getElementById(“entry”)};如果您想在javascript中使用ID,必须在HTML中使用它。其中
OP
定义了
条目内容
ID?很好,
document.getElementsByClassName('entry-content');
始终提供所有选择器,因此您应该只需要针对单个选择器。请尝试使用此
文档。GetElementsByCassName('entry-content')[0];
是,稍后我将使用chilNodes[0]要获取第一个元素…是否正确?这不对。
parentDiv
是所有对象的数组,因此您应该使用与
childNodes[0]相同的方法。
使用:
parentDiv[0]。childNodes[0]。className='current';
是,如果您想在代码中使用getElementById()。)但代码正在循环