SORU
31 AĞUSTOS 2009, PAZARTESİ


' YANİ, ama Firefox içinde çalışır code '

Aşağıdaki içeren: IE çalışan bazı JavaScript kodu var

myElement.innerText = "foo";

Ancak, '' özelliği Firefox çalışmıyor. code bu gibi görünüyor Bazı Firefox eşdeğer var mı? Ya da orada kullanılan daha genel, çapraz tarayıcı özelliğidir?

CEVAP
31 AĞUSTOS 2009, PAZARTESİ


Güncellemeblog post detailing all the differences daha iyi yazdım.


Firefox kullanan W3C standart Node::textContent, ama onun davranış farklıdır "biraz" dan bu MSHTML tescilli innerText (kopyalanan tarafından Opera olarak, bir süre önce, aralarında onlarca diğer MSHTML özellikler).

, textContent tüm boşluk temsilin ilk innerText bir farklıdır. İkincisi ve daha önemlisi, textContentiçerir SCRİPT etiketi içindeki her şeycode yok ise.,

Bu da işleri daha eğlenceli hale getirmek için, Opera - standart textContent - Ayrıca MSHTML eklemeye karar verdi uygulanması yanında innerTextama textContent gibi davranmaya değişti- yani SCRİPT içeriğini (aslında textContent Opera innerText aynı sonuçlar, muhtemelen birbirlerine yumuşatılmış üretmek gibi) de dahil olmak üzere.

textContent innerText HTMLElement parçası ise Node arayüz parçası. Bu, örneğin, "" textContent ama metin düğümleri innerText: . almak anlamına gelir

var el = document.createElement('p');
var textNode = document.createTextNode('x');

el.textContent; // ""
el.innerText; // ""

textNode.textContent; // "x"
textNode.innerText; // undefined

Son Olarak, Safari 2.x de innerText uygulama arabası vardır. , innerText Safari eğer bir öğe ise sadece düzgün ne gizli (style.display == "none") ne de belge artık. Aksi takdirde, innerText boş bir dize olur.

textContent soyutlama (bu eksiklikleri gidermek için) ile oynuyordum, ama rather complex olduğu ortaya çıktı.

Senin en iyi bahisöncelikle isteklerinizi tam olarak tanımlayınve oradan izleyin. Genellikle mümkün sadece bir öğe innerHTML kapalı etiketleri şerit yerine*/innerText *26 olası sapmalar ile başa çıkmak için.

Başka bir olasılık, tabii ki, DOM ağacı yürüyüş ve metin düğümleri yinelemeli olarak toplamaktır.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Barnacules Nerdgasm

    Barnacules N

    20 Temmuz 2006
  • Semantic Mastery

    Semantic Mas

    30 EKİM 2013
  • thegeniuses.tv

    thegeniuses.

    11 Aralık 2006