2012-08-22 27 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()方法。 。