作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想在for循环中每3次输出一次div。
输出不呈现为 HTML。
我该如何解决这个问题?
render() {
const squareItems = [];
for (var i=0; i < 9; i++) {
if ((i % 3) == 0){
squareItems.push('<div class="row">');
}
squareItems.push(this.renderSquare(i));
if ((i % 3) == 2){
squareItems.push('</div>');
}
}
return (
<div>
{ squareItems }
</div>
);
}
我需要结果:
我尝试使用 JSX 进行推送,但无论如何它都需要关闭任何标签。
<div class="row">
<div>1</div>
<div>2</div>
<div>3</div>
</div>
<div class="row">
<div>4</div>
<div>5</div>
<div>6</div>
</div>
<div class="row">
<div>7</div>
<div>8</div>
<div>9</div>
</div>
最佳答案
我认为嵌套循环是最简单的解决方案:
render() {
const squareItems = [];
for (var i=0; i < 3; i++) {
squareItems.push(<div class="row">
{Array(3).map((_, j) => this.renderSquare(i * 3 + j))}
</div>);
}
return (
<div>
{ squareItems }
</div>
);
}
关于javascript - 如何每 3 次将一些 HTML 推送到数组进行输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56581584/
我是一名优秀的程序员,十分优秀!