【发布时间】:2015-08-09 20:14:30
【问题描述】:
我对 JavaScript 比较陌生,我正在做一个简单的项目。不过,我被困住了,我很想就如何获得解决方案提出一些意见。 我有一个简短的产品数组,例如:
var products = [
{
name: "paper",
price: 2.00,
description: "White College-ruled Paper, 100 sheets",
location: "Aisle 5"
},
{
name: "pens",
price: 5.00,
description: "10 Pack, Black Ink Ball Point Pens"
location: "Aisle 2"
},
{
name: "paper clips",
price: 0.50,
description: "Silver Paper Clips, 100 count"
location: "Aisle 6"
}
]
我正在使用 JS 循环遍历该数组,并将结果打印到 id 为“输出”的 DIV 中的页面。
function print(message) {
var outputDiv = document.getElementById('output');
outputDiv.innerHTML = message;
}
for (var i = 0; i < products.length; i += 1) {
product = products[i];
message += '<div class="col-md-4" id="prod-block">';
message += '<p id="prod-description">' + product.name + ' ' + product.description + '</p>';
message += '<h2 id="price">$' + product.price + '</h2>';
message += '</div>'
}
print(message);
所有这些都很好。我的产品在页面上。现在,我想要的是当鼠标悬停在任何项目 div 上时,在单独的 div 中显示附加信息(例如位置)。 我的问题是 - 你如何识别被悬停的项目的索引号?截至目前,索引号仅存在于我的 for 循环中,我无法弄清楚如何在不同的函数中访问它。
同样,我的知识有限,所以我不确定在 for 循环中编写 HTML 是否是最好的方法。我非常感谢任何建议或批评!
【问题讨论】:
-
仅供参考,ID 在文档上下文中必须是唯一的,您正在呈现无效的 HTML 标记
-
好点!我会将它们更改为类。谢谢!
标签: javascript jquery html arrays jquery-hover