使用jQuery重点加载元素

时间:2012-03-11 19:17:06

标签: javascript jquery ajax focus

我想用jQuery的load方法替换html元素,并希望将输入元素集中在带有类.focus的已加载元素中。类.focus可能有多个元素,因此在加载的元素中进行选择非常重要。

我尝试了以下但不起作用:

  paragraphToBeReplaced.load(
    "/some/url", 
    function(event) { event.data.contents(".focus").focus(); }
  );

如何将焦点设置为已加载的元素?我正在使用jQuery 1.7.1。

2 个答案:

答案 0 :(得分:4)

在加载回调this中是要加载新内容的元素。使用find()可以在此元素中搜索您的类

paragraphToBeReplaced.load( "/some/url",    function() { 
         $(this).find(".focus").focus();
});

答案 1 :(得分:3)

由于您已经引用了加载新内容的元素,因此可以将其再次用作上下文:

paragraphToBeReplaced.load("/some/url", function(event) { 
    $(".focus", paragraphToBeReplaced).focus(); 
});

这应该有效,因为在将URL返回的HTML插入元素后执行回调函数。