看不到“getElementsByClassName”的第一个元素

时间:2015-12-25 00:39:01

标签: javascript jquery

我的html中有这个结构:

<div class="miejsce">
<div class="blok3">
1
</div>
<div class="blok3" id="x">
2
</div>
<div class="blok3">
3
</div>
<div class="blok3">
4
</div>
</div>

<div class="miejsce">
<div class="blok3">
1
</div>
<div class="blok3">
2
</div>
<div class="blok3">
3
</div>
<div class="blok3" id="x">
4.
</div>
</div>

我想添加参数display:block to class of first miejsce的div的第一个elemets。我用了这个getElementsByClassName和'for'循环。看我的JS:

var miejsca = document.getElementsByClassName('miejsce');

for(var i=0; i<miejsca.length; i++)
{
    alert("work2");
    miejsca[i].first().css('display', 'block');
}

警报“工作”只显示一次所以问题可能出现在:

miejsca[i].first().css('display', 'block');

你看到我的代码中有任何错误吗?请解释一下。

1 个答案:

答案 0 :(得分:1)

jQuery函数不能直接在DOM元素上使用。您需要将它们包装在jQuery对象中。

您可以将所有代码简化为此

$('.miejsce div:first-child').css('display', 'block');