您好,感谢您的帮助。
我的网站上有一个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动态隐藏其中一些,但由于某种原因,一旦我收集了一个数组中的所有列表项,我就无法再正确地解决它们了。当我提醒数组的长度时,我得到正确的数字。 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 :(得分:2)
基本上你没有使用jQuery
$(tweetArray[1]).hide()
答案 1 :(得分: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();
答案 2 :(得分:1)
试试这个:
$(tweetArray[1]).hide();
答案 3 :(得分:1)
tweetArray[1].style.display="none";
答案 4 :(得分:1)
$(tweetArray[1]).hide();
这应该可以胜任。 tweetArray [1]只是一个html元素,它没有为它定义hide()方法。
答案 5 :(得分:0)
hide()
是jQuery的一部分。您必须使用$()
方法:$(tweetArray[1]).hide()
。
答案 6 :(得分:0)
您必须将tweetArray[1]
包装到jquery对象
尝试
$(tweetArray[1]).hide();
答案 7 :(得分:0)
var tweets = $( '#latesttweet ul' ).children( 'li' );
$( tweets[1] ).hide();