完成If语句

时间:2011-08-01 03:16:11

标签: jquery

这是一个很快的问题。

<table id="menuStructuresPageList" class="rounded-corner dataTablePageList">

if ($('.dataTablePageList')) {

我想做的是做一个if语句,说明具有dataTablesPageList类的对象是否还有一个id为menuStructuresPageList然后....

但我不确定如何完成if语句的尾部。

编辑:

我要说的是这是多个表的共享代码,所以所有表都有dataTablePageList类,但如果其中一个具有menuStructuresPageList的id,那么它需要执行if语句的if部分。

if ($('.dataTablePageList')) {

} else {

var oTable = $('.dataTablePageList').dataTable( {
    "bJQueryUI": true,
    "iDisplayLength": 10,
    "sPaginationType": "full_numbers",
    "aoColumnDefs": [ 
            { "sWidth": "20px", "aTargets": [ 0 ] },
            { "sWidth": "40px", "aTargets": [ -1 ] },
            { "sWidth": "40px", "aTargets": [ -2 ] },
            { "bSortable": false, "aTargets": [ 0 ] },
            { "bSortable": false, "aTargets": [ -1] },
            { "bSortable": false, "aTargets": [ -2 ] },
            { "sClass": "center", "aTargets": [ 0 ] }, 
            { "sClass": "center", "aTargets": [ -1 ] },
            { "sClass": "center", "aTargets": [ -2 ] }  
        ]
});
}

3 个答案:

答案 0 :(得分:4)

我会使用.hasClass

if (!$('#menuStructuresPageList').hasClass('dataTablePageList')) {
    ...

编辑:你的意思是你想在if中有两个分支?

if ($(this).hasClass('.dataTablePageList')) {

    // do something
    if(this.id == "menuStructuresPageList" ) {

        // do something
    }

} else {
      ...

答案 1 :(得分:2)

尝试:

if($("#menuStructuresPageList.dataTablesPageList").length){
 // your code
}

if($("#menuStructuresPageList").hasClass("dataTablesPageList")){
 // your code
}

答案 2 :(得分:1)

如果您只想要一个既具有指定ID又具有类的对象,那么您可以将它们放在jQuery选择器规范中,如下所示:

if ($('#menuStructuresPageList.dataTablePageList').length > 0) {
   // found object with id="menuStructuresPageList" and class="dataTablePageList"
} else {
   // didn't find object with both class and id as specified
}

将它们放在选择器中,它们之间没有空格意味着同一个对象必须同时拥有它们。