-1

真是个难题,如何正确设置 className 来清除它。就此而言,我不确定我是否应该这样做,但情况就是这样。

window.onload 函数成功地使用 addEventListener处理这些事件,[ webkitAnimationEnd & mouseover ] 然后我利用它为 Divs 设置 className。到目前为止一切都很好,但有时我想显示那个 window.onload 函数的 Div OUTSIDE。因此,单击带有 an 的按钮onclick="wazzupClyde();会调用以下函数。

因为我在 window.onload 脚本之后拥有它,所以我认为它应该是负责的脚本,并且想要取消 div 上的任何 className,因此用于 Div 的 CSS 声明正常或默认设置 div 的样式。好吧,这似乎是一个计划……但正如此处代码后所述,它是嗯……有缺陷的,是的。

    <script type="text/JavaScript">
    function wazzupClyde(){
        var Bid = document.getElementById("Bid");
        Bid.className = (window.WebKitAnimationEvent) ? "x";
    }
    wazzupClyde();
    </script>

在我的 Chrome JavaScript 控制台中说调试器:

试过:

Bid.className = (window.WebKitAnimationEvent) ? "";

Uncaught TypeError: Unexpected token ;

并且

Bid.className = (window.WebKitAnimationEvent) ? "x":"";

未捕获的类型错误:无法将属性“className”设置为 null

并且

Bid.className = (window.WebKitAnimationEvent) ? "x";

Uncaught TypeError: Unexpected token ;

加上这个

Bid.className = "":

未捕获的类型错误:意外的令牌:


    <div id="SomeChickenShitz"class="hover">
   <form action="<?php echo $PHP_SELF; ?>" method="post">
      <input type="hidden" name="OhGoodOneBubba" value="<?php echo $ForSaleCompetentEWE;?>"/>
        <button id="Bid"type="submit"class="hover" onclick="wazzupClyde();">WHY?</button>
       </form>
</div>

当我尝试 Bid.removeAttribute('className'); 收到有关“无法调用 null 的方法 'removeAttribute'”的投诉,所以我怀疑问题出在代码设计上……所以,回顾一下。我怎样才能阻止 Div Bid 应用 className,或者清除它?

4

2 回答 2

0

无法将属性“className”设置为 null

它抱怨那Bid是空的。id显然,在该函数运行时,您没有属性为“Bid”的元素。

于 2013-01-12T09:22:48.170 回答
0

元素id = 'Bid'不在您当前的 DOM 中。

声明后不应调用该函数。只需使用以下代码:

<script type="text/JavaScript">
    function wazzupClyde(){
        var Bid = document.getElementById("Bid");
        Bid.className = (window.WebKitAnimationEvent) ? "x" : "";
    }
</script>
于 2013-01-12T09:24:21.683 回答