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

时间:2014-05-27 06:31:45

标签: javascript onclick onload

这是我在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>

3 个答案:

答案 0 :(得分:0)

你正在混淆class和id(或者只是遗漏了id)。如果你console.log(getElementById("entry")),我打赌你会回来null

答案 1 :(得分:0)

我认为你必须更换它。

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

答案 2 :(得分:0)

在您的代码中:

 document.getElementById('entry').className = 'current';

getElementById(ID)这是一个javascript方法,用于获取具有特定ID的元素

您的HTML不正确,您忘记了href的结束"

您应该将您的HTML写为 -

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

完成上述更改后,您的代码就能完美运行。 See Demo