我正在开发一个与Twitter相关的项目并使用Tweetie-master jQuery插件。
链接:https://github.com/seaofclouds/tweet
但遗憾的是jQuery .find()方法根本不起作用。我尝试了很多,但找不到错误。
<script type="text/javascript">
$(document).ready(function() {
$('#twitter_feed').twittie({
dateFormat: '%b. %d, %Y',
template: '{{avatar}} {{tweet}} {{screen_name}} {{date}}',
count: 3
});
$("#twitter_feed ul").find("li:first").css({"color":"red","border":"2px solid red"});
});
</script>
我的项目演示链接:http://zinan.me/twitter/
答案 0 :(得分:4)
它不起作用,因为执行$("#twitter_feed ul").find("li:first")
时,没有加载推文,因此不存在li
。你应该使用回调函数,如果我理解twittie:
$('#twitter_feed').twittie({
dateFormat: '%b. %d, %Y',
template: '{{avatar}} {{tweet}} {{screen_name}} {{date}}',
count: 3
}, function () {
$("#twitter_feed ul").find("li:first").css({"color":"red","border":"2px solid red"});
});
答案 1 :(得分:0)
我的猜测是twittie()
是异步的,所以代码不等待响应。在twittie返回任何内容之前,代码执行find
并且什么也没找到。查找twittie()
回调函数。
答案 2 :(得分:0)
由于@Holt指出在填充div之前执行了jquery代码。 如果你只想改变第一个li的风格,那么你也可以使用CSS来实现它:
#twitter_feed ul li:first-child { color: #F00; border: 1px solid #F00;}
答案 3 :(得分:0)
我认为这应该不会测试但是值得一试
<script type="text/javascript">
$(document).ready(function() {
$('#twitter_feed').twittie({
dateFormat: '%b. %d, %Y',
template: '{{avatar}} {{tweet}} {{screen_name}} {{date}}',
count: 3
}).promise().done(function(){
$("#twitter_feed ul").find("li:first").css({"color":"red","border":"2px solid red"});
});
});
</script>