2014-01-19 29 views
0

嗨,大家好我有點用給人一種動態創建的鏈接是各自的CSS類在我的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-主」會做鏈接顏色爲藍色,而這一個「BTN BTN-警告」應顯示橙色

我使用Twitter的引導

有沒有在我的代碼或lackings如果有什麼錯誤?

謝謝

+0

爲什麼你沒有用引號包裝動態創建的元素的屬性?先做。即「'將會呈現爲'。因此,你的第二類'icon-white'沒有任何效果 – Satpal

+0

我試過單引號和雙引號,但同樣的結果具有諷刺意味的是這部分這是鏈接內部顯示的預期結果 – angelogogo

回答

0

你應該在你的target elementchangingclicking後使用你的代碼,或當你elementDOMinserted

$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按鈕click`,那麼你應該在document.ready後添加像,

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

撥打以上functionbutton 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

+0

鏈接是在頁面加載之後創建的,而且當我單擊搜索按鈕時,還應該在按鈕上單擊插入代碼? – angelogogo

+0

$ DOMNodeInserted = $('yourElement');是指父元素? – angelogogo

+0

@angelogogo查看我的更新回答 –