javascript更改div中的所有类值

时间:2013-05-10 06:22:44

标签: javascript classname

有没有办法用JS更改所有按钮的类值?现在我有:

  var nodes = document.getElementsByClassName("yui-button yui-radio-button");

然后是for循环

  for (i=0;i<nodes.length;i++) {
     nodes[i].className = "something";
  }

无论如何都要绕过for循环并更改所有类值?

这是html:

    <div id="season" align="center">
     <div id="seasonButtons" class="yui-buttongroup">
      <span id="yui-gen0" class="yui-button yui-radio-button">
       <span class="first-child">
        <button type="button" id="yui-gen0-button">Spring</button>
       </span>
      </span>
      <span id="yui-gen1" class="yui-button yui-radio-button">
       <span class="first-child">
        <button type="button" id="yui-gen1-button">Summer</button>
       </span>
      </span>
      <span id="yui-gen2" class="yui-button yui-radio-button">
       <span class="first-child">
        <button type="button" id="yui-gen2-button">Fall</button>
       </span>
      </span>
     </div>
    </div>

4 个答案:

答案 0 :(得分:2)

如果你只是使用普通的javascript,那么你需要某种循环来改变数组中的多个节点。

你可以自己编写一个可以在数组中的所有节点上运行的辅助函数,但某个地方会有一个循环可以运行。

由于看起来你正在使用YUI,YUI可能有一种方法可以通过一次调用对一组节点进行操作。

答案 1 :(得分:0)

为所有div添加一个公共类。例如class =“common”

然后

$( '共同 ')addClass(' newClassName');

答案 2 :(得分:0)

你可以用jquery

来做到这一点
    $(".yui-button,.yui-radio-button").addClass("something").removeClass("yui-button yui-radio-button");

答案 3 :(得分:0)

NodeList getElementsByClassName(string classNames):

返回一个类似数组的元素对象,该对象具有包含所有特定classNames.classNames的class属性。

如果你想使用javascript,你需要一个循环来改变那些节点的属性。