0

我一直在努力,現在找到一個解決我的問題好幾天沒有任何運氣,我發現這一點:getElementsByClassName doesn't work但因爲我要訪問的所有標籤這不是我的問題的解決方案並改變它們,所以在這裏我們去:選擇的div內的所有標籤的某些類

我希望能夠改變的是與某一類的div內的標籤的風格。我開始通過在div上使用ID來嘗試這種方式,並且它的工作方式與我想要的完全一樣,但是由於我將使用此頁面的頁面將出現多次相同的div,因此我必須使用class,而不能讓它工作。我必須使用JavaScript而不是jQuery。

它如何與ID工作示例:我多麼希望

var images = document.getElementById("test").getElementsByTagName("img"); 
 
for (var i = 0; i < images.length; i++) { 
 
    images[i].align = "right"; 
 
}
<div id="test"> 
 
    <img src="http://galerie32.de/images-designer/thumbs/dummy-user.jpg" width="100"> 
 
    <p> 
 
    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam lobortis turpis justo, eu egestas elit aliquet sit amet. Vivamus convallis, dolor a euismod scelerisque, nisi lorem placerat nisi, sed euismod ligula eros in lorem. Pellentesque vel ante semper, 
 
    convallis ante in, mollis odio. 
 
    </p> 
 
    <img src="http://galerie32.de/images-designer/thumbs/dummy-user.jpg" width="100"> 
 
    <p> 
 
    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam lobortis turpis justo, eu egestas elit aliquet sit amet. Vivamus convallis, dolor a euismod scelerisque, nisi lorem placerat nisi, sed euismod ligula eros in lorem. Pellentesque vel ante semper, 
 
    convallis ante in, mollis odio. 
 
    </p> 
 
</div>

例如,它的工作:

var images = document.getElementsByClassName("test").getElementsByTagName("img"); 
 
for (var i = 0; i < images.length; i++) { 
 
    images[i].align = "right"; 
 
}
<div class="test"> 
 
    <img src="http://galerie32.de/images-designer/thumbs/dummy-user.jpg" width="100"> 
 
    <p> 
 
    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam lobortis turpis justo, eu egestas elit aliquet sit amet. 
 
    </p> 
 
    <img src="http://galerie32.de/images-designer/thumbs/dummy-user.jpg" width="100"> 
 
    <p> 
 
    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam lobortis turpis justo, eu egestas elit aliquet sit amet. 
 
    </p> 
 
</div> 
 

 
<div class="test"> 
 
    <img src="http://galerie32.de/images-designer/thumbs/dummy-user.jpg" width="100"> 
 
    <p> 
 
    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam lobortis turpis justo, eu egestas elit aliquet sit amet. 
 
    </p> 
 
    <img src="http://galerie32.de/images-designer/thumbs/dummy-user.jpg" width="100"> 
 
    <p> 
 
    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam lobortis turpis justo, eu egestas elit aliquet sit amet. 
 
    </p> 
 
</div>

我明白當我想訪問這些類時,應該有一種完全不同的方式來編寫聲明,但我無法弄清楚。

任何誰知道,可以給我一些指點?

+1

http://jsfiddle.net/ge1Lmanv/您需要兩個循環才能獲取所有元素.... getElementsByClassName返回HTML集合,並且您也可以循環它... – sinisake

+0

當您嘗試時,您會得到什麼這個JavaScript?一個錯誤? –

+0

如果您正確使用CSS選擇器的功能,比如更改共同祖先元素的類名稱,這樣會更容易。並且在你的樣式表中有一條規則,根據該規則對後代元素進行不同的格式。 – CBroe

回答

0

代碼document.getElementsByClassName("test")給你元素的列表,而不是一個元素。對這些元素執行循環(for)。在此循環中,請致電getElementsByTagName("img")

+1

謝謝你!這是什麼將解決我的問題,從上面得到一個例子,我可以使用。 – Emma