2012-03-11 93 views
1

我想用jQuery的load方法替換html元素,並希望將類中的輸入元素與類.focus集中在一起。可能有多個類.focus的元素,因此在加載的元素中進行選擇很重要。帶jQuery的焦點加載元素

我嘗試以下,但它不工作:

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

我怎樣才能將焦點設置到裝載的元素?我正在使用jQuery 1.7.1。

回答

4

在負載回調中this是新內容被加載到的元素。使用find()可以在此元素內搜索您的類

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

謝謝,它的工作原理。 – deamon 2012-03-11 19:27:02

+0

這兩個ansers是基本相同的......其他答案使用jQuery內核中的find()做同樣的事情 – charlietfl 2012-03-11 19:28:25

3

既然你已經有了一個對元素的引用您加載新的內容在其中,你可以再次使用它作爲一個背景:

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

這應該工作,因爲回調函數是在HTML後執行已將URL返回的元素插入到元素中。

+0

謝謝,它的工作原理。 – deamon 2012-03-11 19:27:11