我有一堆div与相同的类名。我循环遍历一些信息,将每个信息放入一个div中。我想将它们附加到单独的div中,但它们都具有相同的名称这一事实阻碍了我执行此过程。它不是将它附加到当前模态,而是将所有信息附加到带有该类名的所有div中。我怎么才能避开这个问题呢?
你可以使用JQuery的"each"循环。
$(".className").each(function(e){
$(this).html("new content"); // $(this) will give you the reference of your current element.
});
你可以像Gaurav说的那样循环。如果您知道数据将匹配div的顺序,那么这将很好地工作。如果你想把项目放在特定的位置(也就是数据不是以相同的顺序出现的div),如果jQuery是一个选项(你没有指定),你可以使用jQuery的eq()选择器。这样,你就可以做出如下选择(来自jQuery的API文档),选择第三个td:
<table border="1">
<tr><td>TD #0</td><td>TD #1</td><td>TD #2</td></tr>
<tr><td>TD #3</td><td>TD #4</td><td>TD #5</td></tr>
<tr><td>TD #6</td><td>TD #7</td><td>TD #8</td></tr>
</table>
<script>
$( "td:eq( 2 )" ).css( "color", "red" );
</script>
话虽如此,如果你能够,并且这是有意义的,我建议你明确地确定你的潜水。编写基于定位将某些数据片段匹配到DOM中的特定元素的JavaScript很容易出错—特别是如果有人跟随您处理代码而不知道这种可能的"魔法"。"
$outer = document.getElementsByClassName('outer');
for(var i = 0; i < $outer.length; i++) {
$outer[i].onclick = function () {
alert();
}
}
这就行了。您需要循环遍历所有类并分别应用action。