【问题标题】:changing class of a <span> element with JavaScript用 JavaScript 改变 <span> 元素的类
【发布时间】:2010-11-09 09:06:54
【问题描述】:

我正在尝试使用以下代码使用 Javascript 更改元素的类:

parent.document.getElementById('<?php echo $markid ?>').class = 'unlistened';

虽然运气不太好。我该如何正确地做到这一点?

【问题讨论】:

    标签: javascript css dom


    【解决方案1】:

    .className 而不是 .class

    【讨论】:

    • 天啊!领先我 20 秒:p
    【解决方案2】:

    使用.className 而不是.class

    class是JS中的保留字,所以改成了className。其他一些 HTML 属性以类似的方式更改。 "for" 更改为 "htmlFor" for 实例。

    【讨论】:

      【解决方案3】:

      className 应该可以解决问题(:

      【讨论】:

        【解决方案4】:

        只是一个提示,如果你现在正在使用 JavaScript,那么使用 jQuery 会容易得多,因为它要容易得多,并且只需要你具备良好的 CSS 知识(对于选择器等)

        你会做$(selector).addClass('myclass');

        然后像这样检索它:

        $(selector).attr('class');

        哦,是的,请注意,如果您在任何元素上使用混合类,上述函数将返回它们全部由空格分隔(就像您在 HTML 类属性中定义的那样。)如果您想检查一个特定的类是否存在,这样做:

        $(selector).hasClass('class');

        这就是使用 jQuery 进行类操作的基础知识。其余的请查看http://docs.jquery.com/

        【讨论】:

        • 我不确定为什么人们不赞成我的回答。这是一个有用且友好的建议...
        • 我没有投反对票,但我想是因为没有提到在 jQuery 中寻找解决方案,而只是纯粹的 JS。
        • 如果您还没有使用 jquery,如果纯 javascript 解决方案同样简单(在这种情况下,甚至比您的建议更容易......),这不是一个有用的答案。顺便说一句 - 我没有投票给你......
        • 如果您正在修改 DOM,您可能会使用库来执行此操作。称之为懒惰,但我宁愿包含一个 50k 的库并编写优雅的代码,也不愿费心重新发明轮子。
        【解决方案5】:

        使用 jQuery...

        $("tagname").addclass("unlistened");
        

        http://docs.jquery.com/Attributes/addClass

        【讨论】:

          猜你喜欢
          • 2010-11-24
          • 2019-03-12
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-11-25
          • 1970-01-01
          相关资源
          最近更新 更多