我的代码就像
<th runat="server" id="thTodayToTenTotal" class="redRow">
<th runat="server" id="thTodayToTenTotal" class="redRow">
我从CodeBehind
中删除属性class =“redRow”thTodayToTenTotal.Attributes.Remove("class");
没关系。
但是“redRow”类可以在我的页面中有很多。如何从整个页面中删除此类名称一次。然后我想将这个类添加到一个html元素。我的意思是我有
<th runat="server" id="wantToAddClass">
我从CodeBehind添加类
wantToAddClass.Attributes.Add("class", "redRow");
答案 0 :(得分:0)
您可以使用jQuery实现这一目标,即:
$(document).ready (function ({
var elements = $(".redRow");
$.each (elements, function(index) {
elements[index].removeAttr("class");
});
});
然后问题,除非你可以锚定到事件的服务器端控件,否则你不知道要删除哪个元素。因为id是每页一个。否则你会试图解析一个html页面,Javascript很可能是理想的。
答案 1 :(得分:0)
正如CRise评论的那样,你必须循环所有的网页控件,找到你想要的每个控件。
让我在这里给你一些帮助。
让我们创建一个实用工具方法。
function successHandler(data, textStatus, jqXHR) {
// you are using json as dataType so you may need to get a key from data object
jj = '<input class ="submitAsset" type="button" value="'+ data
+'">';
jQuery("#example").append(jj);
}
jQuery("#example").on("click", '.submitAsset',function() {
alert("clicked");
}); //function click
然后在您想要检查班级的任何地方调用这些方法。
IEnumerable<Control> FindControl( Control c, Func<Control,bool> predicate )
{
if( predicate( c ) )
yield return c;
foreach (var child in c.Controls) {
if (predicate((Control)child)) {
yield return (Control)child;
}
}
foreach( var child in c.Controls )
foreach( var match in FindControl( (Control)child, predicate ) )
yield return match;
}
有关详细信息,SO中已经提出了很多问题。见。
How to select an element by Class instead of ID in ASP.NET?
remove css class in code behind
您也可以使用JavaScript或Jquery。