2016-08-02 59 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)