XML DOM - Range-objekti
- Edellinen sivu DOM ProcessingInstr
- Seuraava sivu DOM RangeException
Range-objekti edustaa dokumentin jatkuvaa aluetta.
Range-objekti
Range-objekti edustaa dokumentin jatkuvaa aluetta, kuten käyttäjä valitsee alueen hiiren vedämisellä selaimen ikkunassa.
Jos toteutus tukee Range-moduulia, niin Dokumentti-objektimäärittää createRange() -menetelmä,kutsun sitä voidaksesi luoda uuden Range-objektin.
Huomioitavaa:IE määritti yhteensopimattoman Document.createRange() -menetelmän, joka palauttaa objektin, joka on samankaltainen Rang-kontaktin kanssa, mutta ei yhteensopiva.
Range-kontaktin ominaisuudet määrittelevät suuren määrän menetelmiä, joita käytetään määrittelemään dokumentissa valittu alue, lisäksi on joitakin menetelmiä, joita voidaan käyttää leikkaamiseen ja liimaamiseen valitussa alueessa.
Range-kontaktin ominaisuudet tarjoavat menetelmiä, joilla voi hakea alueen reunasolmut ja siirtymäviitteet. Menetelmät tarjoavat mahdollisuuden asettaa alueen reunat. Huomaa, että alueen reunat voidaan asettaa Dokumentti tai DocumentFragment-objektisolmuissa. Kun alueen reunapisteet on määritelty, voi käyttää deleteContents(), extractContents(), cloneContents() ja insertNode() -menetelmiä leikkaamiseen, kopiointiin ja liimaamiseen.
Kun dokumenttia muutetaan lisäämällä tai poistamalla, kaikki Range-objektit, jotka edustavat dokumentin osaa, muuttuvat (tarvittaessa), jotta niiden reunapisteet säilyisivät voimassa ja jotta ne (mahdollisimman lähellä) edustavat samaa dokumenttia.
Termit: alue, reunapiste ja siirtymäviite
Alueella on kaksi reunapistettä, nimittäin yksi aloituspiste ja yksi päättymispiste. Jokainen reunapiste määritetään solmun ja kyseisen solmun siirtymäviitteen avulla. Solmu on yleensä Element-solmujaDocument-solmutai Text-solmuElement- ja Document-tyyppisille solmuille, siirtymäviite viittaa kyseisen solmun alisolmuun. Siirtymäviite 0 tarkoittaa, että reunapiste sijaitsee kyseisen solmun ensimmäisen alisolmun edellä. Siirtymäviite 1 tarkoittaa, että reunapiste sijaitsee kyseisen solmun ensimmäisen alisolmun jälkeen, toisen alisolmun edellä. Jos kuitenkin reunasolmu on Text-solmu, siirtymäviite viittaa tekstin kahden merkin välistä sijaintiin.
Range-objektin konstit
Nämä konstit määrittelevät, miten Range-objektien rajapisteitä vertaillaan.
Ne ovat compareBoundaryPoints() -menetelmän how Parametrien lailliset arvot:
Konstit | Kuvaus |
---|---|
START_TO_START | Vertaa määritettyä range-objektin alkupistettä nykyisen range-objektin alkupisteeseen. |
START_TO_END | Vertaa määritettyä range-objektin alkupistettä nykyisen range-objektin loppupisteeseen. |
END_TO_END | Vertaa määritettyä range-objektin loppupistettä nykyisen range-objektin loppupisteeseen. |
END_TO_START | Vertaa määritettyä range-objektin loppupistettä nykyisen range-objektin alkupisteeseen. |
Range-objektin ominaisuudet
Huomioitavaa:Kaikki ominaisuudet ovat luettavissa, eikä niitä voida muuttaa asettamalla näitä ominaisuuksia. Tämä voidaan tehdä vain kutsumalla setEnd() - ja setStart() -menetelmiä.
Huomioitavaa:detach() -menetelmän kutsumisen jälkeen näiden ominaisuuksien kaikki lukuoperaatiot aiheuttavat INVALID_STATE_ERR -virheen. DOMException poikkeus.
Ominaisuudet | Kuvaus |
---|---|
collapsed | Jos范围的 alkupiste ja loppupiste ovat dokumentin samassa sijainnissa, arvo on true, eli range on tyhjä tai taipunut. |
commonAncestorContainer | Range-objektin alkupisteen ja loppupisteen (eli niiden isäntäsolmut) syvimmässä dokumenttisolmu. |
endContainer | Dokumentin solmu, joka sisältää范围的 loppupisteen. |
endOffset | endContainerin loppupisteen sijainti. |
startContainer | Dokumentin solmu, joka sisältää范围的 alkupisteen. |
startOffset | startContainerin alkupisteen sijainti. |
Range-objektin menetelmät
Huomioitavaa:Jos范围的 detach() -menetelmää on kutsuttu, seuraavat Range-objektin menetelmäkutsut aiheuttavat INVALID_STATE_ERR -virheen. DOMException poikkeus.
Metodi | Kuvaus |
---|---|
cloneContents() | Palauttaa uuden DocumentFragment-objektin, joka sisältää sen range-objektin edustaman asiakirja-alueen kopion. |
cloneRange() | Luo uusi Range-objekti, joka edustaa nykyisen Range-objektin samaa asiakirja-aluetta. |
collapse() | Kumoa tämä alue, jotta sen reunapisteet kohtaavat toisensa. |
compareBoundaryPoints() | Vertaa määritetyn alan reunapisteitä nykyisen alan reunapisteisiin ja palauta -1, 0 tai 1 niiden järjestyksen perusteella. Vertailun suorittaa ensimmäinen parametri, sen arvon on oltava edellä määritetty constantti. |
deleteContents() | Poista nykyisen Range-objektin edustama dokumenttialue. |
detach() | Ilmoita, että toteutus ei enää käytä nykyistä aluetta, ja voi lopettaa seurannan. Jos tämä metodi kutsutaan, seuraavassa kutsutussa alueen metodissa heitetään INVALID_STATE_ERR -koodin omaava poikkeus. DOMException poikkeus. |
extractContents() | Poista nykyisen alan edustama dokumenttialue ja palauta tämän alueen sisältö DocumentFragment-objektina. Tämä menetelmä ja cloneContents() -menetelmän yhdistelmä ovat hyvin samanlaisia kuin deleteContents() -menetelmä. |
insertNode() | Lisää määritetty solmu dokumenttialueen alkupisteeseen. |
selectNode() | Aseta tämän alan reunat, jotta se sisältää määritetyn solmun ja sen kaikki jälkeläiset. |
selectNodeContents() | Aseta tämän alan reunat, jotta se sisältää määritetyn solmun ja sen jälkeläiset, mutta ei itse solmua. |
setEnd() | Aseta tämän alan loppupiste määritetyn solmun ja siirtymän kanssa. |
setEndAfter() | Aseta tämän alan loppupiste solmun lähelle määritetyn solmun jälkeen. |
setEndBefore() | Aseta tämän alan loppupiste solmun lähelle ennen määritettyä solmua. |
setStart() | Aseta tämän alan alkupiste määritetyn solmun sisällä määritetyllä siirtymällä. |
setStartAfter() | Aseta tämän alan alkupiste solmun lähelle määritetyn solmun jälkeen. |
setStartBefore() | Aseta tämän alan alkupiste solmun lähelle ennen määritettyä solmua. |
surroundContents() | Lisää määritetty solmu dokumenttialueen alkupisteeseen, ja aseta kaikki alkupisteessä olevien solmujen isäntäsolmut uuden lisätyn solmun lapsisolmiksi. |
toString() | Palauta tämän alan edustama dokumenttialueen puhtaita tekstejä. |
- Edellinen sivu DOM ProcessingInstr
- Seuraava sivu DOM RangeException