2012-01-30 44 views
1

跨度這應該是簡單的,但我無法得到它的工作。

我的HTML是:

<span class="more-button" onclick="homePageMore()">[read more...]</a> 

而且功能:

function homePageMore(){ 
    $(this).hide('slow');        
    $("#home-page-more").slideToggle('slow');     
} 

我針對滑下就好股利,但我想跨度隱藏(我」 m試圖用$(this)選擇)不會隱藏。爲什麼不??

+1

在這一刻「本」是DOM – MCSI 2012-01-30 17:40:31

回答

7

就拿JS了DOM的。你甚至沒有經過this

<span class="more-button">[read more...]</a> 

的Javascript:

$('.more-button').click(function(){ 
    $(this).hide('slow');        
    $("#home-page-more").slideToggle('slow'); 
}); 
+0

+1用於回答正確的問題/具有最佳答案,而不是最接近原始海報當前代碼的那個。 – 2012-01-30 17:53:14

+0

很棒的回答。謝謝! – nedryk 2012-01-30 20:18:55

+0

很高興幫助:) – AlienWebguy 2012-01-30 20:42:52

6
<span class="more-button" onclick="homePageMore(this)">[read more...]</a> 

function homePageMore(el){ 
    $(el).hide('slow');        
    $("#home-page-more").slideToggle('slow');     
} 

OR

<span class="more-button" onclick="homePageMore.call(this)">[read more...]</a> 
4

this指窗口的功能,而不是跨越。它指的是onclick屬性內的跨度,所以你可以把它傳遞到您的功能從那裏:

<span class="more-button" onclick="homePageMore(this)">[read more...]</a> 

的Javascript:

function homePageMore(that){ 
    $(that).hide('slow');        
    $("#home-page-more").slideToggle('slow');     
} 

而且,只是一個提示,但您可能需要刪除從你的跨度onclick完全放在你的Javascript的其餘部分。看到這個Wikipedia article,和AlienWebGuy的答案。

+0

好的建議複查。刪除Javascript,謝謝。 – nedryk 2012-01-30 20:21:07

0
$(".more-button").click(
function homePageMore(){ 
$(this).hide('slow');        
$("#home-page-more").slideToggle('slow'); 
}); 

從您的HTML代碼中(的onclick = 「homePageMore(本)」)。

0

我看到有在你的代碼/標籤,所以我認爲有跨越標籤錨包裝。比方說,錨類是「多鍵鏈接」,我會改寫這樣的代碼:

$('.more-button-link').click(function(event) { 
    event.preventDefault(); 
    $(this).hide('slow'); 
    $("#home-page-more").slideToggle('slow'); 
}); 

然後從跨度標籤取下的onclick =「homePageMore()」。

+0

你爲什麼會這麼想?你爲什麼會假設什麼? – AlienWebguy 2012-01-30 18:01:54

+0

爲什麼?因爲在代碼關閉錨標記,所以在這種情況下,更好地承擔責任,而給這個_As的option_而不僅僅是編寫彈出你的頭腦任何代碼。仔細閱讀代碼,這是一個很好的編程技巧。 – jpatiaga 2012-01-31 17:10:19

+0

只見收盤'',但它可以很容易地對預期的''一個錯字。因此,你不知道所以不要假設。 – AlienWebguy 2012-01-31 17:16:15