在tr jquery中找到动态添加行的类?

时间:2014-01-09 05:55:16

标签: javascript jquery

我需要找到tr中使用的类。这些tr是动态添加的。我使用以下代码来实现此目的,但它没有按预期工作。任何人都可以告诉它为什么不起作用?

if (!($("tr:has(td.comboselected)").length > 0)) {
        alert('if');
        $(this).addClass("comboselected");
    } else {
        alert('else');
        $(this).removeClass("comboselected");
    }

提前致谢...

7 个答案:

答案 0 :(得分:1)

嘿,我已经对你的代码进行了修改

检查

$("#deviceInterfacetbl").on("click", "tr", function (event) {                    
                var checkbox = $(this).find("input[type='checkbox']");
                if (!checkbox.prop('checked')) {
                    $(this).addClass("comboselected");
                    var id = checkbox.val(); $('#policyMaptbl').empty();
                    $('#classMaptbl').empty();
                }
                else {
                    $(this).removeClass("comboselected");
                }
            });

答案 1 :(得分:0)

您可以使用Descendant Selector (“ancestor descendant”)。要在tds中找到comboselectedtr

if ($("tr td.comboselected").length > 0) {
    alert('if');
    $(this).addClass("comboselected");
} else {
    alert('else');
    $(this).removeClass("comboselected");
}

答案 2 :(得分:0)

写:

if ($("tr").find("td.comboselected").length) {
    alert('if');
    $(this).addClass("comboselected");
} else {
    alert('else');
    $(this).removeClass("comboselected");
}

答案 3 :(得分:0)

if (!($("tr td").hasClass("comboselected")).length > 0) {
        alert('if');
        $(this).addClass("comboselected");
    } else {
        alert('else');
        $(this).removeClass("comboselected");
    }

这对你有帮助

答案 4 :(得分:0)

尝试这样的事情

class

上的td
    if($("tr td.comboselected").length){
        $(this).removeClass("comboselected");
    }else{
        $(this).addClass("comboselected");
    }

class

上的tr
    if($("tr.comboselected").length){
        $(this).removeClass("comboselected");
    }else{
        $(this).addClass("comboselected");
    }

答案 5 :(得分:0)

你需要在该表的所有tr中应用jquery每个循环,如下所示:

方式1:如果您在动态创建时分配每个tr的唯一ID。

  $("#yourTableId tr").each(function (index) {
   // index is the current row index.
   // find the id of current tr
   var id = this.id;
   var currentClass = $("#"+id).attr("class");     
   // currentClass is the class you need to find.....
  });

方式2:如果你没有为动态创建的tr分配任何id

  $("#yourTableId tr").each(function (index) {
   // index is the current row index.
   var currentClass = $(this).attr("class");     
   // currentClass is the class you need to find.....
  });

感谢。

答案 6 :(得分:0)

jQuery(document).ready(function () {
            if (!($("tr td").hasClass("comboselected"))) {
                $("tr td").addClass("comboselected");
            } else {
                alert('else');
                $("tr td").removeClass("comboselected");
            }
        });

完全是你想要的 这是代码