ile birlikte bulur. Tüm DOM'ları taramak için en iyi yol ne olmalı, metin içeren ve bir span sınıfına sarmak için herhangi bir öğe bulun. ThanxJquery, tüm öğeleri
cevap
Bu kodu şu adresteki şuraya bakın: http://jsbin.com/oquhu3/3 (* boşluklu bir *) –
Thanx, işe yarıyor! Bir sınıf eklemeye çalıştım ama işe yaramadı. $ (işlev() { $ ('gövde *'). Content(). Filter (işlev() { return (this.nodeType == 3) && this.nodeValue.length> 0; }). AddClass ("someclass"); }); Neden olursa olsun? Thanx tekrar. – Mircea
Bir metin düğümüne bir sınıf ekleyemezsiniz. Sınıfı olan bir span ile sarmayı deneyin: $ ('body *'). Content(). Filter (function() { return (this.nodeType == 3) && this.nodeValue.length> 0; }) .wrap ("") –
Sen .each tüm elememnts üzerinde yineleme için kullanabilirsiniz:
$('*').each(function(){
if($(this).text())
{
$(this).wrapInner('<span />');
}
})
ben kod parçası test etmedi ama oldukça basit. Öğrenmeniz gereken tek şey .each, wrapInner ve * seçicisidir. jQuery docs burada oldukça yararlıdır.
$('body *').contents().filter(function() {
return (this.nodeType == 3) && this.nodeValue.length > 0;
}).wrap("<span />")
Bazı daha fazla iş kaldı gibi görünüyor: http://jsbin.com/oquhu3 –
$ (document). Try(); kodunuza: $ (document) .ready (function() { $ ('*'). her (işlev {} ( if ($ (this) .text()) { $ (this) .wrapInner (''); ' }) )) }) – dzida
Bunun gerçek metinlere sahip olup olmadıklarına bakılmaksızın, tüm HTML öğelerine sınıf ekleyeceğini düşünüyorum. – Mircea
Ben ne belirtmek gerek:
sadece boşluk içerenler dahil olmak üzere, tüm metin düğümleri kaydırmak için: –