jQuery-lähde - contents()-metodi
Esimerkki
Löytää kaikki tekstit절teistä ja pakkaa ne lihavoituun merkkiin.
$("p").contents().filter(function(){ return this.nodeType != 1; }).wrap("<b/>");
Määritelmä ja käyttö
contents()-metodi hakee jokaisen vastaanotetun elementin lapsi-elementit, mukaan lukien teksti- ja kommenttipisteet.
Syntaksi
.contents()
Yksityiskohtainen selitys
Jos annetaan jQuery-objekti, joka edustaa DOM-elementtien joukkoa, .contents()-metodi mahdollistaa näiden elementtien suorakkaisten lapsi-elementtien hakemisen DOM-puusta ja uuden jQuery-objektin rakentamisen vastaavilla elementeillä..contents() ja .children() Menetelmät ovat samanlaisia, mutta toisessa on mukana tekstityypin solut sekä HTML-elementit.
.contents() metodi voidaan käyttää myös saadakseen iframe:n sisällön dokumentin, edellyttäen, että iframe on samassa alueessa kuin pääsivu.
Harkitse seuraavaa <div>:a, joka sisältää joitakin tekstityypin soluja, ja jokainen solu erotetaan kahdella rivinvaihdolla (<br>):
<div class="container"> Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. <br /><br /> Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. <br /> <br /> Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. </div>
Voimme käyttää .contents() metodia muuntaaksemme tekstiblokin hyvin muotoilluiksi kappaleiksi:
$('.container').contents().filter(function() { return this.nodeType == 3; ) .wrap('<p></p>') .end() .filter('br') .remove();
Tämä koodi ensin vastaanottaa <div class="container"> sisällön, sitten se suodattaa sen tekstityypin solut ja pakkaa ne kappaleetikkeihin. Tämä tehdään testaten elementin .nodeType ominaisuutta. Tämä ominaisuus sisältää numerokoodin, joka viittaa solun tyyppiin; tekstityypin solut käyttävät koodia 3. Sisältö suodatetaan uudelleen, tällä kertaa suodatetaan <br /> -elementit, jotka poistetaan.