2016-05-17 49 views
0

jsfiddle在點擊事件未找到屬性

我有一個表動態地用javascript填充的表。在服務欄下,有一個鏈接(鉛筆圖標)用於在屏幕底部顯示聊天框。有些標籤用於標識人與誰聊天。

問題:有一段時間,當我點擊聊天鏈接時,顯示標籤的標題是'undefined'而不是人員編號。

我檢索人員數是這樣的:

$("tbody").on("click", "a.chat-link",function (e){ 
     e.preventDefault(); 
     // Get the link 
     var link = $(e.target).parent().closest('a'); 
     var personCode = link.attr('person-code'); 

     $(".chat-wrapper").removeClass("closed"); 
     // hide other tabs 
     $("#chat .tabs .list-wrapper .list .scroll-container div").removeClass("current"); 
     $("#content div.messages-container div.messages").hide(); 
     $("#content div.messages-container .messages div.message").hide(); 
     // add new tab and related content 
     if ($(".scroll-container div[data-id="+personCode+"]").length === 0) { 
     //console.log('new tab'); 
     $("#chat .tabs .list-wrapper .list .scroll-container").append("<div class='current tab' data-id ='" + personCode + "'><a class='button' title='" + personCode + "' href='#'>" + 
       " <span class='name'>" + personCode + "</span><span class='remove'>x</span></a></div>"); 
     $("#content div.messages-container").append("<div data-id='" + personCode + "_content' class='messages active'></div>"); 
     } 
     // set the newly added tab as current 
     $("div[data-id="+personCode+"]").addClass(personCode === 'Admin' ? "current admin" : "current"); 

     $("div[data-id="+personCode+"_content]").show(); 
     $("div[data-id="+personCode+"_content]" + " div.message").show(); 
     $("#content").removeClass("collapse").removeAttr("aria-expanded style"); 
     //toggle collapse icon 
     $('#content-toggle').find('span').removeClass("glyphicon glyphicon-chevron-up").addClass("glyphicon glyphicon-chevron-down"); 
    }); 
+0

你的意思是說你沒有得到:var personCode = link.attr('person-code'); ?? –

+0

無法在該小提琴上重現該問題。 –

+0

@DharaParmar是的,會發生什麼是'007'顯示爲'未定義'。不知何故,var link = $(e.target).parent()。closest('a');失敗,所以我沒有鏈接來獲取屬性。 – user3389171

回答

0

解決方案:通過消除現有的填充

編輯CSS文件<a>鏈接,並補充說:

.status{padding-left: 8px; display: inline-block;} 

使用新圖標旁邊的單獨<div class='status'>。這消除了圖標周圍的死角,導致點擊時出現「無標題」標籤。