css颜色未显示在动态创建的链接中

时间:2014-01-19 12:55:25

标签: jquery asp.net twitter-bootstrap

大家好我有点迷失了动态创建的链接它是我的JavaScript代码中的各自的css类我正在动态地将行添加到网格视图

这是代码:

var xmlDoc = $.parseXML(response.d);
            var xml = $(xmlDoc);
            var customers = xml.find("Customers");
            var totalRows = $("#<%=gvCustomers.ClientID()%> tr").length;
            if (totalRows <= 1) {
                $('#gvCustomers tbody tr:first').after('<tr><td></td><td></td><td></td><td></td><td></td><td></td></tr>');
            }
            var row = $("[id*=gvCustomers] tr:last-child").clone(true);
            $("[id*=gvCustomers] tr").not($("[id*=gvCustomers] tr:first-child")).remove();
            $.each(customers, function () {
                var customer = $(this);
                $("td", row).eq(0).html($(this).find("fname").text());
                $("td", row).eq(1).html($(this).find("mname").text());
                $("td", row).eq(2).html($(this).find("lname").text());
                $("td", row).eq(3).html($(this).find("qualifier").text());
                $("td", row).eq(4).html($(this).find("alias").text());
                $("td", row).eq(5).html('<a class=1ref target=_blank href=ShowInformation.aspx?id=' + $(this).find("pid").text() + '><i class=icon-zoom-in icon-white></i>View</a>' + '&nbsp;' +
                 '<a class=2ref href=AddNew.aspx?pid=' + $(this).find("pid").text() + '&edit=1' + '><i class=icon-edit icon-white></i>Edit Info</a>' + '&nbsp;' + '<a class=2ref href=CreateSession.aspx?pid=' + $(this).find("pid").text() + '><i class=icon-edit icon-white></i>Edit MugShot</a>');
                $("[id*=gvCustomers]").append(row);
                row = $("[id*=gvCustomers] tr:last-child").clone(true);
            });

现在我的jquery代码

$("body").bind("DOMNodeInserted", function () {
                $(this).find('.1ref').addClass('btn btn-primary');
                $(this).find('.2ref').addClass('btn btn-warning');

            });

现在,当我在浏览器上查看时,结果是所创建链接的假定颜色未显示此类'btn btn-primary'会使链接颜色变为蓝色,而这个'btn btn-warning'应显示橙色的颜色

我正在使用twitter bootstrap

我的代码是否有错误或缺少什么?

谢谢

1 个答案:

答案 0 :(得分:0)

您应该在changing之后的clickingtarget element之后,或element inserted DOM之后使用您的代码,

$DOMNodeInserted=$('yourElement');
$DOMNodeInserte.find('.1ref').addClass('btn btn-primary');
$DOMNodeInserte.find('.2ref').addClass('btn btn-warning');

此外,escape位于\之内的multiline strings

$("td", row).eq(5).html('<a class=1ref target=_blank \
                      href=ShowInformation.aspx?id='+this).find("pid").text()+'\
                 ><i class=icon-zoom-in icon-white></i>View</a>'.....

已更新,如果您的links已创建after页面加载or after按钮点击,那么您应将其添加为

function addLinks(){
   //your code here
   $DOMNodeInserted=$('yourElement');
   $DOMNodeInserte.find('.1ref').addClass('btn btn-primary');
   $DOMNodeInserte.find('.2ref').addClass('btn btn-warning');
}

function之后和document.ready之后拨打button click以上,

$(function(){
   addLinks();
   $('#buttonId').on('click',function(){ 
       addLinks();
   });// buttonId is id of button which add links after you click
});

$DOMNodeInserted=$('yourElement'); yourElement是您的dynamically created element selector