<c:forEach> 遍历js变量
时间: 2024-05-14 10:19:28 浏览: 214
很抱歉,<c:forEach> 是 JSP 标签库中的标签,用于在 JSP 页面中遍历集合或数组等数据类型,而不是用于遍历 JavaScript 变量。如果您要在 JavaScript 中遍历一个数组或对象,可以使用 for 循环或 for...in 循环。例如:
```
var arr = [1, 2, 3, 4, 5];
for (var i = 0; i < arr.length; i++) {
console.log(arr[i]);
}
var obj = {name: '张三', age: 18, gender: 'male'};
for (var key in obj) {
console.log(key + ': ' + obj[key]);
}
```
这样就可以遍历 JavaScript 中的数组和对象了。
相关问题
<tbody id="futr"> <tr th:each="item :${utilShoppingCarts} "> <td><img th:src=" ${item.c_imgSrc} " src="img/t_recommen/cup.jpg" width="220" height="170"><br th:text=" ${item.c_name}">健身水杯</td> <td th:text="${item.c_price}">100</td> <td><input th:value="${item.s_number}" type="number" value="1" min="1"></td> <td id="jisuan" th:text=" ${item.c_price} * ${item.s_number} ">100</td> <td> <a href="" th:href="@{ ${#request.contextPath}+'deleteSC?sid=' +${item.s_id} }"> <button class="btn btn-danger">删除</button> </a> </td> </tr> </tbody> <tfoot>用js获取总价
你可以使用以下的 JavaScript 代码来获取总价:
```
let total = 0;
document.querySelectorAll('#futr td#jisuan').forEach(function(td) {
total += parseFloat(td.textContent);
});
console.log(total);
```
这段代码会遍历所有 id 为 `futr` 的 tbody 下的 id 为 `jisuan` 的 td 元素,将每个 td 中的文本内容解析为浮点数,并将其加到 `total` 变量中。最终,`total` 变量的值就是购物车中所有商品的总价。
<form> <textarea name="" id="" cols="30" rows="10">山东 深圳 </textarea> <button class="qwq">添加一个</button> <button class="qwe">全部添加</button> <button class="qwww">返回添加</button> <button class="qwxsz">返回全部</button> <textarea name="" id="" cols="30" rows="10"></textarea> </form> <script> let button = document.querySelectorAll('.button') let textarea = document.querySelectorAll('.textarea') </script> 根据这行代码 实现来回添加
首先,将按钮的类名更正为与代码中一致的类名,即`.qwq`、`.qwe`、`.qwww`、`.qwxsz`。
然后,可以使用以下代码实现来回添加:
```javascript
let button = document.querySelectorAll('.qwq, .qwe, .qwww, .qwxsz');
let textarea = document.querySelectorAll('textarea');
let valuesToAdd = [];
button.forEach((btn) => {
btn.addEventListener('click', (e) => {
e.preventDefault();
if (btn.classList.contains('qwq')) {
let valueToadd = textarea[0].value.trim();
if (valueToadd !== '') {
valuesToAdd.push(valueToadd);
textarea[0].value = '';
textarea[1].value = valuesToAdd.join(' ');
}
} else if (btn.classList.contains('qwe')) {
valuesToAdd = textarea[0].value.trim().split(/\s+/);
if (valuesToAdd.length > 0) {
textarea[0].value = '';
textarea[1].value = valuesToAdd.join(' ');
}
} else if (btn.classList.contains('qwww')) {
textarea[0].value = valuesToAdd.join(' ');
valuesToAdd = [];
textarea[1].value = '';
} else if (btn.classList.contains('qwxsz')) {
textarea[1].value = '';
}
});
});
```
解释一下代码:
首先,通过选择器获取按钮和文本框的元素。
然后,定义一个变量 `valuesToAdd` 用于存储待添加的值,初始值为空数组。
接着,遍历所有按钮,对每个按钮都添加一个点击事件监听器。
在事件监听器中,首先阻止默认行为。
然后,通过 `classList.contains()` 方法判断按钮的类名,分别执行以下操作:
- 如果类名为 `qwq`,表示添加一个值。获取第一个文本框的值,去除首尾空格后存入 `valueToadd` 变量,如果不为空,将其加入 `valuesToAdd` 数组,清空第一个文本框的值,并将 `valuesToAdd` 数组中的值用空格拼接后显示在第二个文本框中。
- 如果类名为 `qwe`,表示全部添加。获取第一个文本框的值,去除首尾空格后通过正则表达式 `/s+/` 将其拆分成数组 `valuesToAdd`,如果数组长度大于 0,则清空第一个文本框的值,并将 `valuesToAdd` 数组中的值用空格拼接后显示在第二个文本框中。
- 如果类名为 `qwww`,表示返回添加。将 `valuesToAdd` 数组中的值用空格拼接后显示在第一个文本框中,将 `valuesToAdd` 数组重置为空数组,并清空第二个文本框的值。
- 如果类名为 `qwxsz`,表示返回全部。直接清空第二个文本框的值。
最后,以上述代码实现来回添加。
阅读全文