2010-06-04 44 views
0

我想計數遠程頁面上的元素的數目: 例如遠程頁面:如何用jquery計算遠程頁面上的元素數量?

具有以下結構

<div id="Layout"> 
    <div class="product">...</div> 
    <div class="product">...</div> 
    <div class="product">...</div> 
</div> 

然後,我想從test2.html

<script type="text/javascript"> 
     $(document).ready(function(){ 
      $('#result').load('/test.html #Layout product').length(); 
     }); 
    </script> 
呼叫

的test.html

此代碼無效。什麼是正確的做法? 謝謝。

+1

歡迎的話,請訪問http:// stackoverflow.com/faq – Reigel 2010-06-04 23:24:20

回答

2

您需要等到元素被實際加載,你可以使用$.load方法的回調函數的參數:

$(document).ready(function(){ 
    $('#result').load('/test.html #Layout', function() { 
    var products = $('.product', this).length; 
    alert(products); 
    }); 
}); 

檢查上面的例子here

另外,如果你不想插入元素加載到DOM,則可以將其加載到一個新的空元素,例如:

$('<div></div>').load('/test.html #Layout', function() { 
    var products = $('.product', this).length; 
    alert(products); 
}); 
+0

非常感謝。有可能不會將test.html的內容加載到#result。 #result應該只顯示來自遠程頁面的元素總數。再次感謝你。 – mp1 2010-06-04 23:43:11

+0

@ mp1,不客氣,爲此,以我的第二個示例並替換'alert(產品);'爲'$('#result')。text(產品);' – CMS 2010-06-04 23:51:44

+0

非常感謝,代碼工作完美。 – mp1 2010-06-04 23:53:21

相關問題