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