2014-01-20 87 views
0

我試圖更改包含類nazwa_klasy_display的div #info_frame的樣式,但我無法修復它。如何更改包含所選類別的div #id的樣式

$('.box').mouseenter(function() {  
    //show up scores 
    $(this).children('.scores').css('display', 'block'); 

    nazwa_klasy = $(this).attr('class').split(' ')[1]; 

    nazwa_klasy_display = nazwa_klasy.split('_')[1]; 
    if ($('#info_frame').has(nazwa_klasy_display)) 
    { 
     $('#info_frame .'+nazwa_klasy_display).style.display ="block";  
    } 
}); 
+0

出了什麼問題'$( '#info_frame。' + nazwa_klasy_display).css('display','block');'? –

回答

1

你用普通的js混合jQuery的:

無論您使用

/* chain a jQuery method, e.g. show() */ 
$('#info_frame.'+nazwa_klasy_display).show() 

/* access to the dom node before using plain js */ 
$('#info_frame.'+nazwa_klasy_display).get(0).style.display = "block"; 
+0

你對'$('#info_frame。'+ nazwa_klasy_display)[0]''有什麼看法? –

+0

get(0)更好的捷徑,但只適用於一個元素,性能增益將不會顯着。它只是顯示訪問到DOM節點 – fcalderan

0

如果我的理解是正確的,你正在尋找一個<div>具有info_frame的id和nazwa_klasy_display的類別的那個你確實需要修復你的CSS選擇器。當它不應該時,你在那裏有一個空間。

$('#info_frame.'+nazwa_klasy_display) 

選擇#info_frame .[nazwa_klasy_display]將尋找任何有類nazwa_klasy_display那就是*#info_frame

0
$("#info_frame").hasClass('.'+nazwa_klasy_display).css('display','block'); 

後代試試這個

+0

控制檯:對象#沒有方法'css' –

+0

嘗試上面的代碼 –