jQuery,循环段落和获取文本

时间:2011-06-24 18:49:07

标签: javascript jquery

所以基本上用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进行调试,但无济于事。谢谢你的帮助。

4 个答案:

答案 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);
});

演示:http://jsfiddle.net/gaby/xjmZy/