代码之家  ›  专栏  ›  技术社区  ›  CLiown

javascript添加类并保持原始

  •  4
  • CLiown  · 技术社区  · 15 年前

    IM使用以下内容:

    url=location.href
    fname=url.match(/.*\/(.*)\./)[1]
    document.body.className=fname
    

    它获取url的一部分并将一个类添加到 <body> 用从url提取的文本标记。

    但是,此方法的问题是,如果尚未分配类,则仅应用类。

    我真的在找类似jquery的东西 .addClass 使身体变得:

    <body class="originalClass filenameClass">
    
    ...
    
    </body>
    
    4 回复  |  直到 10 年前
        1
  •  1
  •   Aly    15 年前

    使用jquery您可以 $("body.className").addClass(fname) 或者类似地,如果没有jquery,您可以执行document.body.classname+=“”+fname

        2
  •  10
  •   Ariel    15 年前

    您不必替换类,只需像这样附加到它:

    document.body.className += " " + fname
    

    您可能希望对通过querystring到达的所有内容运行一些验证…

        3
  •  4
  •   DMTintner    10 年前

    根据 specs

    类列表返回元素的类属性的标记列表。

    所以你可以:

    document.body.classList.add(fname);
    

    它将像jquery的addClass方法一样工作。只添加一次类并保留现有类。

    您还可以执行以下操作:

    document.body.classList.remove(fname);
    

    如果您想稍后删除该类

    toggle和contains方法也在本机可用。

        4
  •  3
  •   Yaakov Shoham    15 年前

    document.body.className+=" "+fname