2016-08-16 22 views
6

Bunu okudum document.normalizeBoş Metin düğümlerini kaldırır ve bitişik düğümleri birleştirir.Tam olarak document.normalize ne yapar?

Bu tam olarak ne anlama geliyor? ,

p element 
    text node containing "" 
p element 
    text node containing "Hello, " 
    text node containing "world" 

Hiçbir içerik ile, tek başına paragrafın içine

p element 
p element 
    text node containing "Hello, world" 

metin düğümü dönüştürecektir tamamen kaldırılır:

cevap

6

Bir Metin düğümü bu olurdu? → Bu bir metin düğümüdür. DOM API kullanarak

, boş metin oluşturmak mümkündür, ya da iki komşu metin düğümleri: sadece <div>Part 1Part2</div> olacağını HTML'de

var wrapper = document.createElement("div"); 

wrapper.appendChild(document.createTextNode("Part 1")); 
wrapper.appendChild(document.createTextNode("Part 2")); 

ama DOM o olan iki ayrı metin düğümlerini var ... tuhaf. Bu gibi verimsiz anormalliklerden kurtulmak için, bu, Node.normalize normale döner; Her iki metin düğümünü bir araya getirir ve tamamen boş olan metin düğümlerini kaldırır.

5

Verilen.

Bitişik iki metin düğümü, birleştirilen metinle birlikte tek bir metin düğümüne birleştirilir.

<p> 
    <span>foo</span> 
    bar 
</p> 

<p><span> yüzden "bar" nedir, bir düğümdür, bir düğümdür:

+0

Cevabınıza bir html örneği ekleyebilirsiniz – Graham

+3

HTML, metin düğümlerini açıkça ifade etmenize izin vermediğinden: Hayır, yapamam. – Quentin

+0

Peki, oraya nasıl geliyorlar? – Graham