上一篇                     
               
			  html页面如何循环遍历
- 前端开发
- 2025-07-18
- 2265
 HTML页面中,可以使用JavaScript的
 
 
for循环、
 forEach方法或`for…
HTML页面中,循环遍历是一种常见的操作,通常用于动态生成重复的HTML元素或处理一组相似的数据,实现循环遍历的方式有多种,主要依赖于JavaScript、模板引擎或后端渲染技术,以下是详细的实现方法和示例。
使用JavaScript循环遍历
JavaScript是HTML页面中最常用的脚本语言,可以通过循环语句(如for、while、forEach)来遍历数据并动态生成HTML内容。
示例1:使用for循环生成列表
 
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">For Loop Example</title>
</head>
<body>
    <ul id="list"></ul>
    <script>
        const items = ['Apple', 'Banana', 'Cherry', 'Date'];
        const listElement = document.getElementById('list');
        for (let i = 0; i < items.length; i++) {
            const li = document.createElement('li');
            li.textContent = items[i];
            listElement.appendChild(li);
        }
    </script>
</body>
</html> 
示例2:使用forEach遍历数组
 
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">ForEach Example</title>
</head>
<body>
    <div id="container"></div>
    <script>
        const data = [
            { name: 'John', age: 25 },
            { name: 'Jane', age: 30 },
            { name: 'Doe', age: 22 }
        ];
        const container = document.getElementById('container');
        data.forEach(item => {
            const div = document.createElement('div');
            div.innerHTML = `<strong>${item.name}</strong> is ${item.age} years old.`;
            container.appendChild(div);
        });
    </script>
</body>
</html> 
使用模板引擎循环遍历
模板引擎(如Mustache、Handlebars、EJS)可以更高效地处理HTML模板和数据绑定,特别适合复杂页面的渲染。

示例:使用Handlebars模板引擎
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">Handlebars Example</title>
    <script src="https://cdn.jsdelivr.net/npm/handlebars@4.7.7/dist/handlebars.min.js"></script>
</head>
<body>
    <script id="template" type="text/x-handlebars-template">
        <table>
            <thead>
                <tr>
                    <th>Name</th>
                    <th>Age</th>
                </tr>
            </thead>
            <tbody>
                {{#each data}}
                <tr>
                    <td>{{this.name}}</td>
                    <td>{{this.age}}</td>
                </tr>
                {{/each}}
            </tbody>
        </table>
    </script>
    <div id="output"></div>
    <script>
        const template = Handlebars.compile(document.getElementById('template').innerHTML);
        const data = [
            { name: 'Alice', age: 28 },
            { name: 'Bob', age: 35 },
            { name: 'Charlie', age: 22 }
        ];
        const html = template({ data });
        document.getElementById('output').innerHTML = html;
    </script>
</body>
</html> 
使用后端渲染循环遍历
如果数据来自服务器端,可以使用后端语言(如Python、Node.js、PHP)在HTML模板中直接循环遍历数据。
示例:使用Python Flask渲染HTML表格
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def index():
    data = [
        {'name': 'Alice', 'age': 28},
        {'name': 'Bob', 'age': 35},
        {'name': 'Charlie', 'age': 22}
    ]
    return render_template('index.html', data=data)
if __name__ == '__main__':
    app.run(debug=True) 
index.html模板文件:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">Flask Example</title>
</head>
<body>
    <table>
        <thead>
            <tr>
                <th>Name</th>
                <th>Age</th>
            </tr>
        </thead>
        <tbody>
            {% for item in data %}
            <tr>
                <td>{{ item.name }}</td>
                <td>{{ item.age }}</td>
            </tr>
            {% endfor %}
        </tbody>
    </table>
</body>
</html> 
使用jQuery循环遍历
jQuery提供了简洁的语法来遍历DOM元素或数组。

示例:使用jQuery遍历数组并生成HTML
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">jQuery Example</title>
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
    <div id="container"></div>
    <script>
        const data = ['Red', 'Green', 'Blue'];
        const container = $('#container');
        $.each(data, function(index, value) {
            container.append('<div>' + value + '</div>');
        });
    </script>
</body>
</html> 
使用Vue.js循环遍历
Vue.js是一个流行的前端框架,提供了v-for指令来轻松实现循环遍历。
示例:使用Vue.js生成列表
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">Vue Example</title>
    <script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.min.js"></script>
</head>
<body>
    <div id="app">
        <ul>
            <li v-for="(item, index) in items" :key="index">{{ item }}</li>
        </ul>
    </div>
    <script>
        new Vue({
            el: '#app',
            data: {
                items: ['Mango', 'Pineapple', 'Grape']
            }
        });
    </script>
</body>
</html> 
FAQs
问题1:如何在HTML中循环遍历对象数组?
解答:可以使用JavaScript的for循环、forEach方法或模板引擎(如Handlebars)来遍历对象数组。
const users = [{ name: 'Alice' }, { name: 'Bob' }];
users.forEach(user => console.log(user.name)); 
在模板引擎中,可以使用{{#each users}}语法遍历对象数组。

问题2:如何在HTML表格中循环遍历数据?
解答:可以使用后端渲染(如Python Flask的{% for %})或前端JavaScript(如for循环或forEach)生成表格行。
const data = [{ name: 'Alice' }, { name: 'Bob' }];
const tableBody = document.querySelector('tbody');
data.forEach(item => {
    const row = tableBody.insertRow();
    row.insertCell().textContent = item.name;
}); 
 
  
			 
			