XML DOM - Range nesnesi
- Önceki Sayfa DOM ProcessingInstr
- Sonraki Sayfa DOM RangeException
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. |
- Önceki Sayfa DOM ProcessingInstr
- Sonraki Sayfa DOM RangeException