我目前有一个在代码后面用 c# 生成的列表。我有一个由所有按钮发送的 onclick 功能。我想做的是在单击发生时传递按钮的对象,以便我可以为该特定按钮切换类。虽然我敢肯定还有其他方法可以做到这一点..这是我的背后代码
protected void createMenu(TreeView navTree) {
foreach(TreeNode node in navTree.Nodes){
HtmlGenericControl li = new HtmlGenericControl("li");
li.Attributes.Add("class", "toggle");
navMenu.Controls.Add(li);
HtmlGenericControl anchor = new HtmlGenericControl("a");
anchor.Attributes.Add("href", "javascript:navButtonClick();");
anchor.InnerText = node.Text;
li.Controls.Add(anchor);
HtmlGenericControl ul = new HtmlGenericControl("ul");
li.Controls.Add(ul);
ul.Attributes.Add("class", "subnav");
foreach (TreeNode childNode in node.ChildNodes) {
HtmlGenericControl child_li = new HtmlGenericControl("li");
ul.Controls.Add(child_li);
HtmlGenericControl childAnchor = new HtmlGenericControl("a");
childAnchor.Attributes.Add("href", "#");
childAnchor.Attributes.Add("class", "active");
childAnchor.InnerText = childNode.Text;
child_li.Controls.Add(childAnchor);
}
}
输出如下所示:
<div id="sidebar">
网站
<li class="toggle-is-open"><a href=""javascript:navButtonClick();"">Stanislaus</a>
<ul class="subnav">
<li><a href="#" class="active">linnie<span class="quantity">7</span></a></li>
<li><a href="#" class="active">tom<span class="quantity">7</span></a></li>
</ul>
</li>
<li class="toggle-is-open"><a href=""javascript:navButtonClick();">Merced</a>
<ul class="subnav">
<li><a href="#" class="active">emmanuel<span class="quantity">7</span></a></li>
</ul>
</nav>
</div>
所以我基本上需要类似的东西
function navButtonClick(buttonID){
navMenu.getbyElementID(buttonID).toggleClass("is-open")
}