我有一个有两个参数的javascript方法,第一个是tr元素的ID,另一个是实际的div。我的add / remove类jQuery方法适用于第一个项目(我使用jQuery选择器获得)。但是,当我在传递的Div。
中使用它时,它会抛出一个javascript错误onclick="ToggleTicketDetails('ticketDetails_@(ticket.TicketID)', this);"
我显然可以在div上使用jQuery选择器来修复它,但是我想知道它为什么会这样。
function ToggleTicketDetails(detailsId, divSender) {
//alert(divSender);
var element = $('#' + detailsId);
//alert(element);
if (element.hasClass("TicketDetailsOff")) {
element.removeClass("TicketDetailsOff").addClass("TicketDetailsOn");
divSender.removeClass("DivAsExpand").addClass("DivAsCollapse");
}
else {
element.removeClass("TicketDetailsOn").addClass("TicketDetailsOff");
divSender.removeClass("DivAsCollapse").addClass("DivAsExpand");
}
}
答案 0 :(得分:6)
jquery
是DOM元素。使用$(divSender)
对象removeClass
在此处应用addClass
和function ToggleTicketDetails(detailsId, divSender) {
var element = $('#' + detailsId);
if (element.hasClass("TicketDetailsOff")) {
element.removeClass("TicketDetailsOff").addClass("TicketDetailsOn");
$(divSender).removeClass("DivAsExpand").addClass("DivAsCollapse");
}
else {
element.removeClass("TicketDetailsOn").addClass("TicketDetailsOff");
$(divSender).removeClass("DivAsCollapse").addClass("DivAsExpand");
}
}
,如下所示。
<View my_custom_property=“something”>
<TextView my_custom_property=“something_else”>Hello</TextView>
</View>