XML DOM - Range nesnesi

Range nesnesi, belgedeki sürekli bir alanı temsil eder.

Range nesnesi

Range nesnesi, belgenin sürekli bir alanını temsil eder, örneğin kullanıcı tarayıcı penceresinde fare ile sürükleyerek seçilen alan.

Bir uygulama Range modülünü destekliyorsa Document nesnesitanımlar createRange() yöntemiüzerinden yeni Range nesnesi oluşturulabilir.

Dikkat:IE, uyumsuz Document.createRange() yöntemini tanımlamıştır, bu yöntem tarafından dönen nesneler Rang arayüzü ile benzerdir, ancak uyumsuzdur.

Range arayüzü, belgede seçilen alan için bir çok yöntem tanımlar, ayrıca seçilen alanda kesme ve yapıştırma türü işlemlerini gerçekleştirmek için bazı yöntemler de içerir.

Range arayüzünün özellikleri, aralığın sınırlayıcı node'larını ve kaydırmasını almak için yöntemler sağlar. Yöntemleri, aralığın sınırlayıcılarını ayarlamak için sağlar. Dikkat edilmesi gereken, aralığın sınırları Document veya DocumentFragment nesnesiiçindeki node. Aralığın sınırlayıcı noktaları tanımlandıktan sonra, deleteContents(), extractContents(), cloneContents() ve insertNode() yöntemleri kullanılarak kesme, kopyalama ve yapıştırma işlemleri gerçekleştirilebilir.

Belgeyi değiştiren ekleme veya silme işlemi yapıldığında, belge bir kısmını temsil eden tüm Range nesneleri (gerekirse) değiştirilir, böylece sınırlayıcı noktaları geçerli kalır ve onlar ( mümkün olduğunca yakınsa) aynı belge içeriğini temsil eder.

Terimler: aralık, sınırlayıcı nokta ve kaydırma

Bir aralık iki sınırlayıcı noktaya sahiptir, yani bir başlangıç noktası ve bir bitiş noktası. Her sınırlayıcı nokta, bir node ve bu node'nın kaydırması ile belirlenir. Bu node genellikle Element noktasıveDocument noktasıveya Text noktasıElement ve Document noktaları için, kaydırma, bu noktanın alt nodlarını belirtir. Kaydırma 0 olduğunda, sınırlayıcı nokta, bu noktanın ilk alt nodu öncesindedir. Kaydırma 1 olduğunda, sınırlayıcı nokta, bu noktanın ilk alt nodu sonrası, ikinci alt nodu öncesidir. Ancak, sınırlayıcı node Text noktası ise, kaydırma metinde iki karakter arasındaki konumu belirtir.

Range nesnesi sabitleri

Bu sabitler, Range nesnelerinin sınırlarını nasıl karşılaştıracağınızı belirtir.

Bu metotlar compareBoundaryPoints() yöntemlerinin how Parametrenin geçerli değerleri:

Sabitler Açıklama
START_TO_START Belirtilen aralığın başlangıç noktası ile mevcut aralığın başlangıç noktası karşılaştırılır.
START_TO_END Mevcut aralığın bitiş noktası ile belirtilen aralığın başlangıç noktası karşılaştırılır.
END_TO_END Belirtilen aralığın bitiş noktası ile mevcut aralığın bitiş noktası karşılaştırılır.
END_TO_START Belirtilen aralığın bitiş noktası ile mevcut aralığın başlangıç noktası karşılaştırılır.

Range nesnesi özellikleri

Dikkat:Tüm özellikler salt okunurdur, bu özelliklerin değerlerini değiştirmek için bu özellikleri ayarlamak mümkün değildir. Bu işlemi gerçekleştirmek için setEnd() ve setStart() yöntemlerini çağrmanız gerekir.

Dikkat:detach() metodu çağrıldıktan sonra, bu özelliklere herhangi bir okuma işlemi, INVALID_STATE_ERR koduyla hatanın fırlatılacağını unutmayın. DOMException Hatası.

Özellikler Açıklama
collapsed Aralığın başlangıç ve bitiş noktaları belgenin aynı konumunda ise true, yani aralık boş veya katlanmış.
commonAncestorContainer Aralığın başlangıç ve bitiş noktalarının (yani onların atalarının) en derin Document düğümü.
endContainer Bitiş noktasını içeren Document düğümü.
endOffset endContainer'daki bitiş noktası konumu.
startContainer Başlangıç noktasını içeren Document düğümü.
startOffset startContainer'daki başlangıç noktası konumu.

Range nesnesi yöntemleri

Dikkat:Range nesnesinin detach() metodu çağrıldıktan sonra, Range nesnesinin herhangi bir metodu çağrıldığında INVALID_STATE_ERR koduyla hatanın fırlatılacağını unutmayın. DOMException Hatası.

Metod Açıklama
cloneContents() Belirtilen aralığı temsil eden belge alanının kopyasını içeren yeni bir DocumentFragment nesnesi döndürür.
cloneRange() Yeni bir Range nesnesi oluşturun, bu nesne mevcut Range nesnesinin aynı belge alanını temsil eder.
collapse() Bu aralığı katlar, böylece sınırları tekrar eder.
compareBoundaryPoints() Belirtilen aralığın sınırlarını ve mevcut aralığın sınırlarını karşılaştırır, -1, 0 ve 1 döndürür. Karşılaştırma hangi sınırları karşılaştıracaksa, bu parametrenin değeri, önceden tanımlanmış olan sabitlerden biri olmalıdır.
deleteContents() Bu Range nesnesi tarafından belirtilen belge alanını siler.
detach() Bu aralığın artık kullanılmadığını bildirir, izleme durdurulabilir. Bu yöntemi çağırdıktan sonra, bu aralığın herhangi bir yöntemi çağrıldığında INVALID_STATE_ERR kodu ile hataya neden olan bir hata fırlatılır. DOMException Hatası.
extractContents() Mevcut aralığı belirttiği belge alanını siler ve bu alanın içeriğini DocumentFragment nesnesi olarak döndürür. Bu yöntem ve cloneContents() yöntemi ile deleteContents() yönteminin kombinasyonu oldukça benzerdir.
insertNode() Belirtilen düğümü belge aralığının başlangıç noktasına ekler.
selectNode() Bu aralığın sınırlarını ayarlar, böylece belirtilen düğüm ve tüm soyundan düğümleri içerir.
selectNodeContents() Bu aralığın sınırlarını ayarlar, böylece belirtilen düğümün soyundan tüm düğümleri içerir, ancak belirtilen düğümü kendisini içermez.
setEnd() Bu aralığın bitiş noktasını belirtilen düğüm ve kaydırma miktarına ayarlar.
setEndAfter() Bu aralığın bitiş noktasını belirtilen düğümün hemen sonraki noktaya ayarlar.
setEndBefore() Bu aralığın bitiş noktasını belirtilen düğümün hemen önceki noktaya ayarlar.
setStart() Bu aralığın başlangıç noktasını belirtilen düğümdeki belirtilen kaydırma miktarına ayarlar.
setStartAfter() Bu aralığın başlangıç noktasını belirtilen düğümün hemen sonraki noktaya ayarlar.
setStartBefore() Bu aralığın başlangıç noktasını belirtilen düğümün hemen önceki noktaya ayarlar.
surroundContents() Belirtilen düğümü belge aralığının başlangıç noktasına ekler, ardından aralığın tüm düğümünün ebeveynlerini yeniden tanımlar ve onları yeni eklenen düğümün soyundan yapar.
toString() Bu aralığın belirttiği belge alanının temiz metin içeriğini döndürür.