2011-11-19 62 views
2

我在JavaScript函數中動態更新div的「title」屬性。如果我檢索新屬性,它會更新,但在屏幕上,鼠標懸停工具提示中仍會顯示舊的「標題」。這是一個錯誤?有沒有辦法解決這個問題?動態更新「標題」屬性

// Toggle and slide LinkCards 
    if (toggle_class == 'ico_minim') { 
     $(toggle).removeClass('ico_minim'); 
     $(toggle).addClass('ico_expand'); 
     $('#'+card_id).attr('title','Expand'); 
     alert(toggle_class+' '+$('#'+card_id).attr('title')); 
     $('#'+card_id).css('height', min_height); 
     slide_linkcards(card_id, height_adjust, toggle_class); 
    } 
    else { 
     $(toggle).removeClass('ico_expand'); 
     $(toggle).addClass('ico_minim'); 
     alert('minimize'); 
     $('#'+card_id).attr('title','Minimize'); 
     alert(toggle_class+' '+$('#'+card_id).attr('title')); 
     $('#'+card_id).css('height', exp_height); 
     slide_linkcards(card_id, height_adjust, toggle_class); 
    } 

我可以在代碼中更改什麼來使標題顯示?

+1

我不認爲'div'有'title'屬性。如果要將數據存儲在對象中,請嘗試使用'.data()'方法。 – Blender

+0

你在什麼瀏覽器上。在Chrome上運行良好。 – bozdoz

+2

@Blender實際上 - 在HTML5中,無論如何 - [任何元素都可以有title屬性](http://dev.w3.org/html5/spec/elements.html#global-attributes)。 – sdleihssirhc

回答

0

此代碼有效。更改$(切換)而不是$('#'+ card_id)的標題。

// Toggle and slide LinkCards 
    if (toggle_class == 'ico_minim') { 
     $(toggle).removeClass('ico_minim'); 
     $(toggle).addClass('ico_expand'); 
     $(toggle).attr('title','Expand'); 
     /* alert(toggle_class+' '+$('#'+card_id).attr('title')); */ 
     $('.link_drop_box', $('#'+card_id)).css('visibility', 'hidden'); 
     $('#'+card_id).css('height', min_height); 
     slide_linkcards(card_id, height_adjust, toggle_class); 
     show_buttons(card_id, 'MINIMIZED'); 
    } 
    else { 
     $(toggle).removeClass('ico_expand'); 
     $(toggle).addClass('ico_minim'); 
     $(toggle).attr('title','Minimize'); 
     /* alert(toggle_class+' '+$('#'+card_id).attr('title')); */ 
     $('.link_drop_box', $('#'+card_id)).css('visibility', 'visible'); 
     $('#'+card_id).css('height', exp_height); 
     slide_linkcards(card_id, height_adjust, toggle_class); 
     show_buttons(card_id, 'EXPANDED'); 
    }