我想用jQuery的load
方法替换html元素,并希望将输入元素集中在带有类.focus
的已加载元素中。类.focus
可能有多个元素,因此在加载的元素中进行选择非常重要。
我尝试了以下但不起作用:
paragraphToBeReplaced.load(
"/some/url",
function(event) { event.data.contents(".focus").focus(); }
);
如何将焦点设置为已加载的元素?我正在使用jQuery 1.7.1。
答案 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插入元素后执行回调函数。