js根据数组动态生成列表,每行有一个详情按钮,点击详情按钮获取本行的数据
时间: 2023-12-17 07:05:00 浏览: 149
点击列表出现详情(简单的列表分组)
可以使用 JavaScript 和 HTML 来实现根据数组动态生成列表,并且每行有一个详情按钮,点击详情按钮可以获取本行的数据。
首先,定义一个数组来存储列表数据,例如:
```javascript
var data = [
{ name: '张三', age: 20, address: '北京市' },
{ name: '李四', age: 25, address: '上海市' },
{ name: '王五', age: 30, address: '广州市' }
];
```
然后,使用 JavaScript 动态生成列表,例如:
```javascript
var list = document.getElementById('list');
for (var i = 0; i < data.length; i++) {
var item = document.createElement('li');
item.innerHTML = data[i].name + ',' + data[i].age + '岁,' + data[i].address;
var btn = document.createElement('button');
btn.innerHTML = '详情';
btn.setAttribute('data-index', i);
btn.onclick = function() {
var index = this.getAttribute('data-index');
var itemData = data[index];
console.log(itemData);
};
item.appendChild(btn);
list.appendChild(item);
}
```
在上面的代码中,首先获取到用于显示列表的元素,然后使用 for 循环遍历数组中的每一项,创建一个 li 元素,并且将当前项的数据填充到 li 元素中。然后创建一个按钮元素,并且设置一个自定义属性来存储当前行的索引值,然后给按钮元素绑定一个点击事件,当点击按钮时,获取按钮的自定义属性值,根据索引值获取当前行的数据,并且打印到控制台中。最后将按钮元素追加到 li 元素中,将 li 元素追加到列表元素中。
最后,需要在 HTML 页面中添加一个用于显示列表的元素,例如:
```html
<ul id="list"></ul>
```
这样就可以根据数组动态生成列表,并且每行有一个详情按钮,点击详情按钮可以获取本行的数据了。
阅读全文