jquery>将类添加到动态创建的选择器

时间:2013-06-17 17:58:04

标签: jquery html5 jquery-jtable

我正在尝试将一个类添加到我使用jTable插件生成的行中,但是我需要将它添加到某些行中,这些行的<p>类在我需要的项目上突出显示“改变行的背景。这些我生成的同时生成表。 我正在使用这个:

$( ".highlighted" ).parent().parent().addClass("highlight");

但它不起作用......我假设是因为它无法找到我引用的类。我怎样才能解决这个问题?或者还有其他方法吗? 提前致谢

*的 修改 * 以下是我使用jTable插件的方法:

$(document).ready(function () {
          $('#items').jtable({
        title: 'Items',
        actions: {
            listAction:list.php
        },      
        fields: {
            picture: {
                title: 'Picture',
                width: '1%',
                display: function (data) {
                    if(data.record.picture!=null){
                        return '<img src="'+data.record.picture+'"/>';
                    }   
                }
            },
            item: {
                title: 'Item ID' ,
                create: false,
                edit: false,
                width:'1%'
            },
            itemname: {
                title: 'Item Name' ,
                create: false,
                edit: false,
                width: '30%'
            },
            status: {
                title: 'Status',
                display: function(data){
                    var status=data.record.status;
                    if(status=="Y"){
                        return data.record.status;
                    }
                    else {
                        return "<p class='highlighted'>"+data.record.status+"</p>";
                    }

                }
            }                   
        }
    });
    $('#items').jtable('load');
    $(".highlighted").parent().parent().addClass("highlight");
});

您可以看到我在状态字段中添加了该类。

3 个答案:

答案 0 :(得分:0)

确保在创建row ..

后添加课程

最好使用closest代替parent

$( ".highlighted" ).closest("tr").addClass("highlight");

答案 1 :(得分:0)

我还没有看到你的标记,但是你的DOM导航可能不正确?尝试使用closest(),它将返回与传递的选择器匹配的第一个祖先(在本例中为tr元素):

$(".highlighted").closest("tr").addClass("highlight");

http://api.jquery.com/closest/

答案 2 :(得分:0)

您还可以使用:has()选择器

$('tr:has(p.highlighted)').addClass('highlight')

或使用.has()方法

$('tr').has('p.highlighted').addClass('highlight')