为什么jQuery addClass不适用于div元素?

时间:2016-01-12 18:23:34

标签: javascript jquery

我有一个有两个参数的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");

    }
}

1 个答案:

答案 0 :(得分:6)

jquery是DOM元素。使用$(divSender)对象removeClass在此处应用addClassfunction 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>