【问题标题】:css colors not showing in dynamically created linkCSS颜色未显示在动态创建的链接中
【发布时间】:2014-01-19 21:37:30
【问题描述】:

大家好,在我的 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 引导程序

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

谢谢

【问题讨论】:

  • 为什么不将动态创建的元素的属性用引号括起来?先做吧。即&lt;i class=icon-zoom-in icon-white&gt;&lt;/i&gt; 将呈现为&lt;i class="icon-zoom-in" icon-white&gt;&lt;/i&gt;。因此你的第二堂课icon-white 没有效果
  • 我尝试过单引号和双引号,但具有讽刺意味的是,结果相同的这部分 在链接内显示了预期的结果跨度>

标签: jquery asp.net twitter-bootstrap


【解决方案1】:

您应该在target element 上的changingclicking 之后使用您的代码,或者当您的elementDOM 中为inserted 时,就像,

$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 已创建afterpage loador afterbutton click`,那么您应该像这样添加它,

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

document.readybutton click 喜欢之后致电function

$(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

【讨论】:

  • 链接是在页面加载后创建的,当我点击搜索按钮时,我是否也应该在按钮点击时插入代码?
  • $DOMNodeInserted=$('yourElement');表示父元素?
  • 我应该给每个动态链接一个id吗?在调用addlinks函数之前?
  • 您可以在addLinks() 中传递class nameelement
  • 我的代码循环直到到达最终记录,所以我的项目中的按钮点击调用我的函数来加载记录我试过你的代码,但效果是一样的
猜你喜欢
  • 1970-01-01
  • 2015-01-24
  • 1970-01-01
  • 1970-01-01
  • 2014-05-09
  • 1970-01-01
  • 1970-01-01
  • 2017-10-28
  • 1970-01-01
相关资源
最近更新 更多