将信息附加到具有相同类名的单独div中



我有一堆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。

最新更新