0

这是我在课程后编写的一些代码:

$(document).ready(function(){
    $.ajax({
        type: 'GET',
        dataType: 'XML',
        url: 'user_timeline.xml',
        success: processXML
    });

    function processXML(response){
        var status = $(response).find("status");
        for (var i=0; i < status.length; i++){
            var text = $("text",status[i]).text();
            $('#status').append("<p>" + text + "</p>");
        };
    }
});

它工作正常,但有人可以解释一下:

$("text",status[i])

它是否搜索/选择键“文本”的状态数组?

我想知道我在做什么,而不仅仅是做...

4

1 回答 1

1

该特定行正在寻找text内部的元素status[i]。请参阅关于此的 jQuery 文档:

http://api.jquery.com/jQuery/

选择器上下文

默认情况下,选择器从文档根目录开始在 DOM 中执行搜索。但是,可以使用 $() 函数的可选第二个参数为搜索提供替代上下文。例如,要在事件处理程序中进行搜索,可以像这样限制搜索:

$('div.foo').click(function() { $('span', this).addClass('bar'); });

当对 span 选择器的搜索仅限于 this 的上下文时,只有单击元素内的 span 才会获得附加类。

在内部,选择器上下文是用 .find() 方法实现的,所以 $('span', this) 等价于 $(this).find('span')。

于 2012-09-18T19:07:53.217 回答