2014-04-17 47 views
0

我得到了一個非常簡單的代碼,應該可以工作。我不明白爲什麼不工作。

我:

<div class="mix category-1" onmouseover="showdescrmini()"> 
      <img src="large-464x400.jpeg" class="coverimgminipost"> 
      <h2 class="miniposttitle">Title</h2> 
</div> 

和腳本:

function showdescrmini() 
     { 
     $(this).children('.miniposttitle').css('color','red'); 
     } 

我已經嘗試過:

function showdescrmini() 
     { 
     $(this).find('.miniposttitle').css('color','red'); 
     } 

如果我在腳本把警報(),它出現時鼠標結束了,所以問題在於單線。

在此先感謝!

回答

1

在您的功能中,this指向window,而不是div元素。使用onmouseover="showdescrmini(this)"和你的函數應該是這樣的:

function showdescrmini(div) 
{ 
     $(div).children('.miniposttitle').css('color','red'); 
} 
+0

謝謝大家的回答!我不是那個在JQuery/Javascript中的專業人士,而這些東西有時會在我的腦海中消失。 –

0
 //In html you should pass this in function 

     <div class="mix category-1" onmouseover="showdescrmini(this)"> 
      <img src="large-464x400.jpeg" class="coverimgminipost"> 
      <h2 class="miniposttitle">Title</h2> 
     </div> 

     //in javascript accept this as parameter thisObj 
    function showdescrmini(thisObj) 
    { 
     $(thisObj).children('.miniposttitle').css('color','red'); 
    } 
0

你應該在你的函數傳遞參數如下圖所示,然後在您調用它要執行的在您使用this作爲函數的功能目標當前元素:

腳本...

function showdescrmini(target) 
{ 
     $(target).children('.miniposttitle').css('color','red'); 
} 

HTML ...

<div class="mix category-1" onmouseover="showdescrmini(this)"> 
      <img src="large-464x400.jpeg" class="coverimgminipost"> 
      <h2 class="miniposttitle">Title</h2> 
</div> 

但我會建議你不要使用內嵌的JavaScript,到目前爲止,對於這種使用像這樣的JS腳本文件:

$('.mix.category-1').hover(function(){ 
     $(this).children('.miniposttitle').css('color','red'); 
}); 
+0

是的,我要使用其他代碼,但我首先嚐試這個,隔離問題:P –

0

在代碼中,在函數$(this)是點對DOM根

試試這個

$(".mix.category-1").mouseover(function(){ 
    $(this).children('.miniposttitle').css('color','red'); 
}); 

$(this)是指向你的目標元素

相關問題