2012-08-22 61 views
-1

您好,非常感謝您的幫助。jQuery .hide()不支持我的數組

我在我的網站上有一個php腳本,它以無序列表的形式返回我最後的幾個推文,每個帖子都是一個列表項。

<div id="latesttweet"> 
    <ul> 
    <li> 
     This is a tweet<br /> 
     <span>3 hours ago.</span> 
    </li> 
    <li> 
     This is another tweet<br /> 
     <span>4 hours ago.</span> 
    </li> 
    </ul> 
</div> 

我試圖掩蓋一些他們使用JavaScript動態的,但由於某種原因,一旦我收集Array的所有列表項,我不能滿足他們正常了。但是,當我提醒陣列的長度時,我會得到正確的數字。 jQuery似乎一般工作正常。

var activeTweet = 0; 
var tweet_ul = document.getElementById('latesttweet'); 
var tweetArray = tweet_ul.getElementsByTagName('li'); 

var tweetCount = tweetArray.length; 
alert(tweetCount); //returns the right result 

tweetArray[1].hide(); 

這種方法,人們應該想到的是,第二個列表項將有display設置爲none,但還是這兩個項目仍然可見。

我在做什麼錯?

+0

$(tweetArray [1])隱藏(); –

+1

記住數組從'0'開始,所以試試'$(tweetArray [0])。hide();' – Peter

+0

爲什麼你用jQuery來隱藏一個元素和普通的javascript來訪問元素? – Pigueiras

回答

2

基本上你是不能使用jQuery

$(tweetArray[1]).hide() 
1

試試這個:

$(tweetArray[1]).hide(); 
0

hide()是jQuery的一部分。您必須使用$()方法:$(tweetArray[1]).hide()

0

你將不得不換tweetArray[1]成jQuery對象

嘗試

$(tweetArray[1]).hide();

2

你的陣列是DOM對象,而不是jQuery的對象。 嘗試以下操作:

var activeTweet = 0; 
var tweet_ul = $('#latesttweet'); 
var tweetArray = $('li'); 

var tweetCount = tweetArray.length; 
alert(tweetCount); //returns the right result 

tweetArray[1].hide(); 
1
tweetArray[1].style.display="none"; 
+1

問題的代碼中沒有jQuery,儘管它被標記爲這樣。這是唯一沒有任何介紹jQuery的答案。 +1。 –

1
$(tweetArray[1]).hide(); 

這應該做的工作。 tweetArray [1]只是一個html元素,它沒有爲它定義hide()方法。 。