我在前端中有这样一段代码:section id=ProductDisplay div class=wrapper div class=ContentDiv ul li theach=sery $series thtext=$seryli ul !--table
您可以使用JavaScript来实现这个功能。首先,您需要给每个li元素添加一个鼠标移入事件(onmouseover),然后在事件处理函数中更新table中的内容。
首先,您可以给每个li元素添加一个自定义属性,用于存储要更新的内容。例如,您可以将产品的名称存储在data-name属性中:
<li th:each="sery: ${series}" th:text="${sery}" onmouseover="updateTable(this.getAttribute('data-name'))" data-name="${sery}"></li>
然后,您可以编写一个名为updateTable的JavaScript函数来处理鼠标移入事件。该函数将获取li元素的data-name属性的值,并更新table中对应的单元格的内容:
function updateTable(name) {
// 获取table元素
var table = document.querySelector('#ProductDisplay table');
// 获取所有tr元素
var rows = table.querySelectorAll('tr');
// 遍历每一行
for (var i = 0; i < rows.length; i++) {
var cells = rows[i].querySelectorAll('td');
// 更新对应单元格的内容
for (var j = 0; j < cells.length; j++) {
var productName = cells[j].querySelector('.ProductName');
productName.innerText = name;
}
}
}
这样,当鼠标移入li元素时,浏览器将调用updateTable函数,并将li元素的data-name属性的值作为参数传递给该函数。函数将遍历table中的每个单元格,并将其内容更新为传递的名称。
请注意,上述代码假设table中的单元格数量是正确的,并且可以被4整除。如果不是这种情况,您需要相应地调整代码。
另外,您还需要为每个li元素添加一个鼠标移出事件(onmouseout),以便在鼠标离开li元素时恢复table中的内容。您可以使用类似的方法来实现这一点
原文地址: https://www.cveoy.top/t/topic/iS6r 著作权归作者所有。请勿转载和采集!