我有一个无法解释的问题。我有一个简单的<svg>
元素和“普通”类 - &gt; "small_circle_svg_menu"
。我想在该元素中添加一个类"animated"
。我的意思是,这是最简单的事情,我不能做得对,但可以做一些更复杂的事情。
这是我为元素添加一个类的方法。我尝试以两种方式添加课程。第一种方法是简单的函数,它检查元素是否具有该类,如果元素没有它,则将它添加到元素中 第二种方式是最简单的事情(你会看到)。
这是第一种方式:
此函数通常将类添加到任何其他元素。我还将document.getElementsByClassName('small_circle_svg_menu')[0]
记录到控制台,看看我是否记录错误的元素。 (但事实并非如此,我正在记录正确的元素)。
function hasClass(ele,cls) {
return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));
}
function addClass(ele,cls) {
if (!this.hasClass(ele,cls)) ele.className += " "+cls;
}
addClass(document.getElementsByClassName('small_circle_svg_menu')[0],"animated")
第二种方式:
document.getElementsByClassName('small_circle_svg_menu')[0].className += "animated"
HTML中的元素位于<header>
,因此我会向您展示整个<header>
。
<header >
<div class=" menu_circle circles-div ">
<div class="icn__wrap menu " id="menu">
<i class="icn__hamburger state_1" id="icn__hamburger-1" ></i>
<i class="icn__hamburger state_1" id="icn__hamburger-2" ></i>
<i class="icn__hamburger state_1" id="icn__hamburger-3" ></i>
<svg class="small_circle_svg_menu " version="1.1" xmlns="http://www.w3.org/2000/svg" width="58px" height="58px" viewBox="0 0 16 16" preserveAspectRatio="none" >
<circle cx="8" cy="8" r="6.215" transform="rotate(90 8 8)" stroke="white" class="small-circle" id="menu_circle"></circle>
</svg>
</div>
</div>
<img id="logo" src="images/nolo.png" alt="nole.logo" onclick="fullpage.moveTo(1)"/>
<div class="page-title background_LG"id="prvinatpis" >Novak Djokovic</div>
<div class="page-title background_LG"id="drugastrananatpis" >News </div>
<div class="page-title background_LG"id="trecastrananatpis" >Tour </div>
<div class="page-title background_LG"id="cetvrtastrananatpis" >Story </div>
<div class="page-title background_LG"id="petastrananatpis" >Gallery </div>
</header>
另外我想提一下,到目前为止我没有在控制台中收到任何错误。第一次也是唯一一次我得到错误是在使用第一种方式时。然后我收到了这个错误。
TypeError: ele.className.match is not a function.
(In 'ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'))', 'ele.className.match' is undefined)
答案 0 :(得分:2)
在您的元素处使用方法document.querySelectorAll
。
{{1}}
使用{{1}}搜索您的首选元素。