我在使用 jQuery 和 Visual Studio 编写所有内容的 .NET 4.0 环境中,但是除了如何填充 XML 数据之外,这些事实都不应该那么重要。
我从这个脚本开始,里面有很多标记。我的任务是从脚本中取出标记并将 XML 数据填充到标记中适当的位置。我试图通过这样做使表示层和行为层尽可能分开。
function addIcons(IconType) {
var li ="";
var onclickMethod="";
for (var item in hashObject) {
var thumbNail = item.split("_");
if (thumbNail[0] == IconType +"ThumbNail") {
var imagePath = baseUrlThumbNailImages + hashObject[item];
li = li + "<li onclick=IconClick('" + IconType +"',"+ thumbNail[1] + ")><img src=\"" + imagePath + "\" alt=\"" + IconType + " shape\"></li>\n";
}
}
$("#" + IconType + "ThumbNailShapes").append(li);
}
这是我想要作为最终结果的示例标记:
<ul>
<li onclick="IconClick('Item',1)">
<img src="/images/image_1.png" alt="Item shape" />
</li>
<li onclick="IconClick('Item',2)">
<img src="/images/image_2.png" alt="Item shape" />
</li>
<li onclick="IconClick('Item',3)">
<img src="/images/image_3.png" alt="Item shape" />
</li>
</ul>
虽然我知道我需要删除开头的代码行li = li + ...
,但我对 OOP 还不够熟悉,无法理解如何编写 for 循环来填充标记。
所以有两个因素我不确定如何编码:
- 空白标记 - 标记是否需要变量来填充它或者 javascript 是否应该自动执行此操作?
- javascript - 我不知道如何重新编码 javascript 以查找每个列表项和图像标记以填充各种数据。
我是否需要像这样将标记设为空白,所有变量数据都不存在?
<ul id="IconThumbnailShapes">
<li onclick="">
<img src="" alt="shape" />
</li>
<li onclick="">
<img src="" alt="shape" />
</li>
<li onclick="">
<img src="" alt="shape" />
</li>
</ul>
我感谢您的洞察力和帮助。