2012-10-15 15 views
6

Sayfanın bir sayfasının a.html olduğunu ve başka bir sayfadan b.html öğesinin kimliğini kullanarak bir metin öğesinin metnini almak istiyorum.Başka bir sayfanın öğelerine erişmek için Javascript nasıl kullanılır?

+0

İsteği sayfasını bir 'iframe' dan sonra eleman olsun. Ama sadece sunucunun istediğiniz verileri getirmesini istemez miydiniz? –

+0

http://stackoverflow.com/questions/3396542/read-html-text-from-another-html-page-using-jquery – Anshu

+0

@ kmb385'in olası kopyası: İkinci sayfa aynı alanda olduğu sürece, Tamamen yapılabilir. – Blender

cevap

12

kullanma jQuery en get method, oldukça basit: (yoğun talep tarafından )

$.get('a.html', null, function(text){ 
    alert($(text).find('#name')); 
}); 

Ham XHR İsteği: sayfa aynı alan üzerinde ise

var request = new XMLHttpRequest(); 

request.addEventListener("load", function(evt){ 
    console.log(evt); 
}, false); 

request.open('GET', 'a.html', true), 
request.send(); 
+3

jQuery '$ .load' yöntemine sahip değildir ve basit bir XHR isteği yapmak için büyük bir kitaplık yüklemek için çok fazla uğraş verir. –

+2

@ user1689607 gerçekten ?! İstemcinin tarayıcısının zaten önbelleğinde jQuery varsa overkill mi? – xandercoded

+2

@Xander: Önbellekte olup olmadığını nereden biliyorsunuz? –

0

, jQuery kullanabilirsiniz. ajax() veya jQuery.load()

$.ajax({ 
    url: url, 
    data: data, 
    success: success, 
    dataType: dataType 
}); 
0

  1. sayfanın içerikleri alın (eğer Same Origin Policy bir sorun olmayacak anlamına, bu yüzden o çevrede çalışma tartışmak olmaz): gerekir.
  2. yaklaşık
  3. o DOM

Bu işin oldukça çok olduğu bir şeyler yapın önemsediğimi DOM parçası Özü bir HTML DOM

  • içine ayrıştırın. jQuery sizin için işin çoğunu yapar:

    jQuery('#element_to_load_content_into').load('a.html#name'); // Note use of fragment identifier 
    
  • İlgili konular