我有一个像这样的无序列表。
<ul class="simpleTree">
<li>
<span>root</span>
<ul>
<li >
<span>Tree Node 1</span>
<ul>
<li>
<span>Tree Node 1-1</span>
<ul>
<li>
<span>Tree Node Ajax 1</span>
</li>
<li>
<span>Tree Node Ajax 2</span>
</li>
</ul>
</li>
<li>
<span>Tree Node 1-1</span>
<ul>
<li>
<span>Tree Node Ajax 1</span>
</li>
<li>
<span>Tree Node Ajax 2</span>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
我想将其转换为
<ul class="simpleTree">
<li class="root">
<span>
<a href="#"title="root">root</a</span> <ul> <li class="open">
<span><a href="test.html" title="this is the title">Tree Node 1</a></span>
<ul>
<li><span>Tree Node 1-1</span> <ul> <li>
<span class="text"><a href="test.html" title="this is the title">Tree Node Ajax 1</a></span>
</li> <li>
<span class="text"><a href="test2.html" title="this is the title for the second page">Tree Node Ajax 2</a></span>
</li> </ul>
</li>
<li><span>Tree Node 1-1</span>
<ul>
<li><span class="text"><a href="test.html" title="this is the title">Tree Node Ajax 1</a></span>
</li> <li>
<span class="text"><a href="test2.html" title="this is the title for the second page">Tree Node Ajax 2</a></span>
</li> </ul> </li> </ul>
</li>
</ul>
</li>
</ul>
以上格式通过循环遍历每个'li'元素并分配css类,锚标签等以编程方式使用asp.net/C#或jquery。上面的无序列表只是一个样本。基本上我检索大约600条记录从数据库中将它们转换为无序列表。有人可以建议我该怎么做?
更新
我在asp.net codebehind中使用以下代码从数据库记录生成无序列表。
int lastDepth = -1;
int numUL = 0;
StringBuilder output = new StringBuilder();
foreach (DataRow row in ds.Tables[0].Rows)
{
int currentDepth = Convert.ToInt32(row["Depth"]);
if (lastDepth < currentDepth)
{
if (currentDepth == 0)
output.Append("<ul class=\"simpleTree\">");
else
output.Append("<ul>");
numUL++;
}
else if (lastDepth > currentDepth)
{
output.Append("</li></ul></li>");
numUL--;
}
else if (lastDepth > -1)
{
output.Append("</li>");
}
output.AppendFormat("<li><span>{0}</span>", row["name"]);
lastDepth = currentDepth;
}
for (int i = 1; i <= numUL; i++)
{
output.Append("</li></ul>");
}
literal1.text=output.ToString();
在我的数据库表中我有名字,深度feild。使用'深度'字段我将数据绑定到无序列表
提前致谢。
答案 0 :(得分:1)
JavaScript的:
您可以使用 DOMObject .innerHTML读/写属性。或者,jQuery的.append()。
对于属性, DOMObject .setAttribute()应该可以帮到你。
结帐this piece of jQuery documentation和this。
我错过了你想要的一些功能吗?
答案 1 :(得分:0)
你做错了。
而不是那种方法,我建议不同的
例如
<ul>
<li>
<span>root</span>
<li>
</ul>
我会生成像
<ul class='mylist'>
<li>
<span>root</span>
<li>
</ul>
我的css将包含
ul.mylist {
write your style properties
}
ul.mylist li{
write your style property for li element
}
然后您的记录将正确显示。