2010-08-31 141 views
2

我正在使用Jquery UI選項卡,並且想要更改mouseover上元素的屬性。使用JQuery更改CSS屬性

我的HTML是這樣的:

<ul id="sub-tabs"> <li><a href="#000"><span>000<br /><p id="ct1">General</p></span></a></li> </ul>...

和jQuery是:

$('#guide-nav ul#sub-tabs span').mouseover(function() { 
    $("#guide-nav ul#sub-tabs li p").css("display", "none"); 
}); 

但是,這是行不通的。

回答

1
<ul id="sub-tabs"> 
    <li><a href="#000"><span>000<br /><p id="ct1">General</p></span></a></li> 
</ul> 

jQuery是:

$('#guide-nav ul#sub-tabs span').mouseover(function() { 
    $("#guide-nav ul#sub-tabs li a span p").css("display", "none"); 
}); 

或者試試這個:

$('#guide-nav ul#sub-tabs span').mouseover(function() { 
    $("p#ct1").css("display", "none"); 
}); 

或者這樣:

$('#guide-nav ul#sub-tabs span').mouseover(function() { 
    $(this).find('p').css("display", "none"); 
}); 
+0

這似乎並沒有擦出火花。我在想,也許Jquery UI Tabs可能會重寫元素的樣式和/或名稱,所以我刪除了這個調用,但仍然沒有去。 – 2010-08-31 12:42:05

0

使用此

$('#guide-nav ul#sub-tabs span').mouseover(function() { 
    $("#guide-nav ul#sub-tabs li p").css({display:"none"}); 
}); 
+1

這只是編寫.css(「display」,「none」)的另一種方式,並不會改變任何有關他的代碼如何反應的內容。 – bradenkeith 2010-08-31 12:31:07

+0

還是不行。我可以嘗試在一個獨立的環境中,看看頁面上的其他代碼是否在搞亂它... – 2010-08-31 12:47:10

0

好吧,我在一個函數包裝這個和它的作品...

$(function() {            
    $('#guide-nav ul#sub-tabs li a span').mouseover(function() { 
     $(this).find('p').css("display", "none"); 
    }); 
}); 

我決定使用上面的語句,只隱藏選定的選項卡中的元素,因爲會有倍數

0

當我嘗試你的代碼時,它確實有效。當你執行javascript時,你確定DOM已經完成加載嗎?

$(document).ready(function() { 
    $('#guide-nav ul#sub-tabs span').mouseover(function() { 
    ("#guide-nav ul#sub-tabs li p").css("display", "none"); 
    }); 
}); 

而不是.css("display", "none");你也可以使用.hide()