Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在jQuery选择器中使用$(this)和上下文_Javascript_Jquery_Jquery Selectors - Fatal编程技术网

Javascript 在jQuery选择器中使用$(this)和上下文

Javascript 在jQuery选择器中使用$(this)和上下文,javascript,jquery,jquery-selectors,Javascript,Jquery,Jquery Selectors,我的javascript如下所示: $(document).ready(function() { $("a:not(.noajax)", $('#header, #content')).live('click', function(event) { ajaxCall($(this).attr("href")); event.preventDefault(); }); )}; $(this)选择器似乎没有获得“a”对象,但是在没有选择器上下文的情况

我的javascript如下所示:

$(document).ready(function() {
    $("a:not(.noajax)", $('#header, #content')).live('click', function(event) {
        ajaxCall($(this).attr("href"));
        event.preventDefault();
    });
)};
$(this)选择器似乎没有获得“a”对象,但是在没有选择器上下文的情况下,它可以正常工作。我做错了什么


看起来jQuery将具有上下文的选择器转换为:

$(context).find(selector)

所以我认为我的$(this)指的是上下文,而不是选择器。有什么想法吗?

上下文应该是元素或字符串,而不是jQuery对象。此外,由于ID是唯一的,所以这里只需要一个上下文

$("a:not(.noajax)", '#header').live('click', function(event) {
    ajaxCall($(this).attr("href"));
    event.preventDefault();
});

上下文应该是元素或字符串,而不是jQuery对象。此外,由于ID是唯一的,所以这里只需要一个上下文

$("a:not(.noajax)", '#header').live('click', function(event) {
    ajaxCall($(this).attr("href"));
    event.preventDefault();
});

尝试使用
$('header,#content')。查找('a:not(.noajax'))。实时(…)
——这有帮助吗?有些东西告诉我它与作用域相关。获取一个小的html代码片段,可以告诉我们您试图选择的元素。或者引用
事件.target
,而不是
,这是什么意思?它得到了什么?你确定处理程序正在启动吗?@Brad,Wiseguy:传递上下文参数对
.live()
有特殊意义,尽管可能需要传递DOM元素。至少文档是这样显示它被使用的。尝试使用
$('header,#content')。查找('a:not(.noajax'))。live(…)
——这有帮助吗?有些东西告诉我它与作用域相关。获取一个小的html代码片段,可以告诉我们您试图选择的元素。或者引用
事件.target
,而不是
,这是什么意思?它得到了什么?你确定处理程序正在启动吗?@Brad,Wiseguy:传递上下文参数对
.live()
有特殊意义,尽管可能需要传递DOM元素。至少文档是这样显示它的使用情况的。如果我希望live同时对它们进行作用域,是否需要将上下文设置为#header和#context的父元素?如果我希望live同时对它们进行作用域,是否需要将上下文设置为#header和#context的父元素?