2016-08-02 60 views
1

我已动态生成div,它接收两个生成的类应用于它。例如,我有:在JavaScript中存储HTML标记的第n个类名称

<div class="container">...</div> 

然后使用一些JavaScript它我一塌糊涂后,就变成:

<div class="container post post-hello-world">...</div> 

对于这个例子,我怎么能抢第三类(post-hello-world)和它存储在某处用于我的JavaScript代码中使用纯Javascript的其他东西?

+0

该班是否保证永远是第三班? – Li357

回答

3

使用classListitem如果你想要的类始终是第三:

var className = document.getElementsByClassName('container')[0].classList.item(2); 

演示

Try before buy

+1

打败我吧!很好的答案!很难在手机上输入;) – Li357

+0

太棒了!将故障保护为此来检查具有前缀'后'的类,然后使用它?这个班上总是会有'后'的。 – privateer35

+0

@ privateer35当然,你可以验证班级名称。是否需要取决于你在抓取它后所做的事情。如果有可能另一个类名不以'post-'开头,如果这会破坏某些东西,那么是的,你一定要检查它。 – insertusernamehere

1

你可以做这样的事情:

var element = document.querySelector(".container"); 
var thirdClass = element.classList[2]; 

您也可以使用一些什么检查,以确保该元素具有3层或更多的类。喜欢的东西if(element.classList.length >= 3)