所以基本上用jQuery,我试图循环包含推文的3段。这三段都是.tweet-text
由于某种原因,在下面的代码中,$ test2将正确设置为第一个推文的文本,但在每个循环中,当我尝试设置str时,js崩溃。这是为什么?
var $tweets = $(".sidebar-tweet .tweet-text");
var $test2 = $tweets.text();
alert($test2);
$tweets.each(function(i, $tweet){
var str = $tweet.text();
alert(str);
});
我一直试图用Firebug进行调试,但无济于事。谢谢你的帮助。
答案 0 :(得分:1)
试试这个
var str = $(this).text();
答案 1 :(得分:1)
因为$tweet
将是常规javascript对象,而不是jQuery对象。你需要包装它:
var str = $($tweet).text();
答案 2 :(得分:1)
var $tweets = $(".sidebar-tweet .tweet-text");
$tweets.each(function(i, current){
var str = $(current).text();
alert(str);
});
问题是当前对象默认情况下不是jquery对象,你必须将它包装为$(current)...以使用jquery方法
答案 3 :(得分:1)
.each
方法的第二个参数不是jquery对象,而是实际的DOM元素。
所以你需要再次将它包装在jQuery中..
var $tweets = $(".sidebar-tweet .tweet-text");
var $test2 = $tweets.text();
alert($test2);
$tweets.each(function(i, tweet){
var str = $(tweet).text();
alert(str);
});