Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 改变元素的类别_Javascript_Css_Getelementbyid_Getelementsbyclassname - Fatal编程技术网

Javascript 改变元素的类别

Javascript 改变元素的类别,javascript,css,getelementbyid,getelementsbyclassname,Javascript,Css,Getelementbyid,Getelementsbyclassname,我想以一种取决于其数量的方式设置浮动元素 <div id="whatever"> <div class="iwantthischangedto3elements"> <a href="#">element 1</a> <a href="#">element 2</a> <a href="#">element 3</a> </div> &

我想以一种取决于其数量的方式设置浮动元素

<div id="whatever">
   <div class="iwantthischangedto3elements">
      <a href="#">element 1</a>
      <a href="#">element 2</a>
      <a href="#">element 3</a>
   </div>
   <div class="iwantthischangedto2elements">
      <a href="#">element 1</a>
      <a href="#">element 2</a>
   </div>
</div>
我真的不知道该怎么做。 我猜javascript就是答案,但无法让它工作:

<script type="text/javascript">
function f() {
  var list = document.getElementById("whatever");
  var nbofelements = whatever.getElementsByTagName("a").length;
  return nbofelements ; 
  whatever.getElementsByTagName("div").className += "elements + nbofelements";      
}
</script>
谢谢你的帮助,我真的很难用javascript

编辑: 谢谢大家的回答。 对不起,我说得不够清楚,英语不是我的第一语言

Tambo明白我的意思了,代码很好用

但是有件事我忘了。。。 h1有时可以放在列表的前面,不应被视为元素。可能还有其他的h2,h3,等等。。。我只想数一个元素

     <div id="whatever">
       <div class="iwantthischangedto3elements">
          <h1>Do no not count this</h1>
          <a href="#">element 1</a>
          <a href="#">element 2</a>
          <a href="#">element 3</a>
       </div>
你知道怎么做吗? 干杯 Vincent

您可以使用and添加类

var whateverChild=document.queryselectorallwhather div; forvar i=0;i函数的最后一行将永远不会执行,因为您首先返回一个值,因此将跳过最后一行。请始终尝试为标识符变量指定有意义的名称。您想做什么?你想添加类还是什么?…在某种程度上取决于它们的数量。这是什么意思?那么,你想把类I改成元素3,把元素3改成元素3?第二个是元素2?对吗?您想实际替换这些类吗?还是添加新的类?谢谢大家的回答。对不起,我说得不够清楚,英语不是我的第一语言。Tambo明白我的意思,代码很棒。但是有件事我忘了。。。有时可以将列放在列表之前,不应将列作为元素。你知道怎么做吗?