2016-06-16 129 views
-5

我試圖獲取使用JS的子元素的類名。我試過以下,但它不會工作。任何幫助深表感謝!獲取子元素的類名

var selectedicon = document.getElementByClassName('selected-icon'); 
 
var iconclass = selectedicon.getElementsByTag("i")[0].className; 
 

 
console.log(iconclass);
<div class="selected-icon"> 
 
    <i class="hummma"></i></div>

+3

閱讀[該文檔(https://developer.mozilla.org/en-US/docs/Web/API/document.getElementsByClassName)總是有用的。 – Teemu

+0

我只會注意到這些元素都沒有'channels'類,並且這些方法都不存在。 –

回答

0

這聽起來像你想的第一i的第一selected-icon元素中的class。如果是這樣的:

var i = document.querySelector(".selected-icon i"); 
 
console.log(i ? i.className : "Not found");
<div class="selected-icon"> 
 
    <i class="hummma"></i> 
 
</div>

document.querySelector接受一個CSS選擇器和找到的第一個元件在與其匹配的DOM。還有document.querySelectorAll,它返回匹配元素的列表。元素上也有它們兩個的版本,它們只在元素的後代中查看。

0

您應該使用document.getElementsByClassNameselectedicon.getElementsByTagName

+0

@ T.J.Crowder你是什麼意思? [鏈接](http://www.w3schools.com/jsref/met_document_getelementsbyclassname.asp) –

+0

@JonathanYanivBenAvraham:答案本來是不正確的。現在已經修好了。 (現在它仍然大部分不完整,但不是不正確。:-)) –

+0

@ T.J.Crowder好吧,對不起,我以爲你的意思是說沒有這樣的方法可以按類來獲得元素。沒關係 :) –

0

試試這個,

var part = document.querySelector(".selected-icon"); 
var chld = part.querySelector('.hummma'); 
console.log(chld.className); 
1

嘗試:

var selectedicon = document.querySelector('.selected-icon'); 
var iconclass = selectedicon.children[0].className; 

console.log(iconclass);