0

我不知道该怎么称呼它们,我通常只遇到single$.(one).html()而不是$.(one,two).html();在jQuery中。

var handler = function(data) {
    $('.content').html($('.content', data).html()).parent().show();
    $.address.title(/>([^<]*)<\/title/.exec(data)[1]);
};

你们能帮我理解这段代码的作用吗?我从来没有遇到过这样的代码。这些是我无法理解的具体部分,这些行是如何工作的?

$('.content', data).html();

$.address.title(/>([^<]*)<\/title/.exec(data)[1]);
4

4 回答 4

3

第一个是选择器和上下文。它正在搜索.contentdata。jQuery 然后返回具有该.html()方法的 jQuery 对象。

第二个是正则表达式模式。它使用/>([^<]*)<\/title/正则表达式来搜索data可能是为了找到title标签的内容。

于 2012-04-19T08:40:07.650 回答
2
$('.content', data).html();

content这是在data变量中寻找具有类的元素。这称为上下文选择器。data变量可以是字符串、DOM 元素或 jQuery 对象。

例如:

var data = '<div><p class="content">Lorem ipsum</p></div>';
var html = $('.content', data).html(); // = 'Lorem ipsum'

无论您的页面中有多少其他元素,该html变量都将始终包含。Lorem ipsum.content


$.address.title(/>([^<]*)<\/title/.exec(data)[1]);

这是对data变量执行正则表达式。这是逆向方法data.match(/>([^<]*)<\/title/);

它将返回一个包含每个匹配项的数组,如果没有找到则返回 null。

于 2012-04-19T08:54:46.380 回答
1

这是一个正则表达式,它检查模式。

([^<]*) 表示“所有来自 <”。

基本上,它在字符串中搜索以 开头<title>和结尾的内容</title>,并使用它。

于 2012-04-19T08:39:52.537 回答
0

$ 函数的第二个参数只是一个上下文。它说 jQuery 在该上下文元素中查找元素。下面的表达式在行为上是相等的。我希望这将澄清第二个论点的含义。

$(one,two).html(); = $(two).filter(one).html();
于 2012-04-19T11:22:38.120 回答