如果有多个类,如何找到元素的特定类名?

我在页面上有一些DIV。 每个都有3个类:grid_#,push_#和pull_#,其中#是实际数字。

我需要单独替换每个类,即删除class =’grid_1’并将其替换为class =’grid_14’。

我正在使用选择列表来选择新类。 我需要旧类的名称,所以我可以删除它。

通过反复试验,我发现只要一个元素只有一个类,我就可以使用它

 var old = document.getElementById('elementId'); var old_class = old.className; 

当我尝试从具有多个类的DIV获取类名时,我什么也得不到。 不是未定义,不是对象,只是空白。 我试过var old_class = old.className[0]; 除其他外,但这给了我undefined

目前的计划是使用正则表达式将旧类名与可能类的列表相匹配,为我提供一个带有要删除的类名的var。 作为javascript的新手,我确信有更好的方法来做到这一点。 任何建议都非常受欢迎。

我刚刚开始这个项目,但你可以在这里找到它,如果它会有所帮助。

谢谢,马克

编辑:更改了问题的标题

如果element有多个类,则需要使用split

 var old = document.getElementById('elementId'); var old_class = old.className.split(' ')[0]; // first class 

分裂的作用是它通过拆分字符串(在本例中为类)创建一个数组,您可以稍后通过其索引访问它,例如[0]作为第一类。

如果element只有一个类,则只需使用className

 var cls = old.className;