Javascript和classname元素

时间:2014-08-08 12:27:59

标签: javascript html

真的很新,请原谅我,如果这是一个愚蠢的问题......

我试图使用var images = document.getElementsByClassName("imagesArea");

并且它一直是未定义的,

这是我在HTML <div class="imagesArea">

中的课程

但我不知道为什么它找不到它?我的javascript doc链接等

由于

编辑:它可以很好地为html div添加一个ID,但是我不确定为什么它不能使用clasname?

<div class="imagesArea">

<div class="images">
    <figure>
        <a href="photos/image1.jpg"><img src="photos/image1.jpg" alt=”Photo” width=150 height=150></a>
    <figcaption>Watch #1</figcaption>
    </figure>

    </div>

<div class="images">
    <figure>
        <a href="photos/image2.jpg"><img src="photos/image2.jpg" alt=”Photo” width=150 height=150></a>
    <figcaption>Watch #2</figcaption>
    </figure>

</div>
</div>

3 个答案:

答案 0 :(得分:1)

这应该可以正常工作

var image1 = document.getElementsByClassName("imagesArea")[0];

通过Id,你得到一个元素,所以如果你这样做,但是通过类名,你必须迭代它们,因为它得到像对象一样的数组中的元素。

实施例 -

var image1 = document.getElementsByClassName("imagesArea");
for (var i=0;i<image1.length;i++){
image1[i].style.color='red';
}

答案 1 :(得分:0)

这应该可以正常使用。使用JS Fiddle之类的东西确认。请检查您是否正确运行了脚本。

http://jsfiddle.net/remix1201/qonatxnf/

请看那个小提琴。

JS:

var images = document.getElementsByClassName("imagesArea");
alert(images);

答案 2 :(得分:-1)

您是否在html代码中定义了此类名。

用于图片标记

<img src="" class="imagesArea" />