2009-11-29 23 views
5

Bir HTML belgesindeki metni, <span> veya bununla ilgili başka bir etiketle sarmadan kullanmak mümkün mü? Örneğin, <p>The quick fox</p> numaralı HTML kodunda, quick'u vurgulamak istiyorum, ancak etrafına bir DOM öğesi eklemeden belirtmek isterim. Bir ebeveyn öğesine bir DOM öğesi eklemek iyidir.Etiketler ile sarmadan HTML metni nasıl vurgulanır?

Teşekkürler!

+4

Bunu neden yapmak istiyorsunuz? – DOK

+1

ÇOKLU arama öğeleri (sınırlayıcı kutular kullanarak) vurgulamak istiyorum. Bununla birlikte, şu 2 arama öğesini hayal edin: "Hızlı" ve "hızlı tilki". "Hızlı" seçeneğini sarmalayarak vurguladığımda, ayrı bir TEXT düğümü olacak ve "hızlı tilki" bulmayı zorlaştıracak. Düşünmekte olduğum bir teknik: 1. Geçici olarak öğesinin eklenmesi. 2. Öğenin sınırlayıcı kutusunu bulma (ofset(), genişlik, yükseklik). 3. Yukarıdaki elemanı silme. 4. Yukarıdaki boyutlara sahip kutuya kutu ekleme. Metin etrafına sarılmamışsa, bu işe yarayabilir ... – Sleepster

cevap

8

Hayır, bu mümkün değil.

Tarayıcıya statik veya dinamik olarak (Javascript ile, örneğin bir işlem sonrası adım olarak) yapmanıza bakılmaksızın, DOM'yi doğal olarak değiştirmeden bir metin parçasını farklı şekilde oluşturmasını sağlayamazsınız.

+1

Değişen pikselleriniz şeffaf bir tuval kaplamasında ise DOM'ı değiştirmeniz gerekmez. –

+0

DOM'yi değiştirmeden bir metin parçasının mutlak konumunu nasıl elde edersiniz? –

+0

öğeyi DOM'a ekleyin, konumunu bulun, sonra silin ve normalleştirin(). – Sleepster

0

Bu mümkün değil.

Sadece orijinal kaynak kodunda etiket istemiyorsanız, daha sonra Javascript sihirbazını kullanarak etiket ekleyerek mümkün olabilir. Sen

<p highlight="quick">The quick fox</p> 

böyle bir şey yapmak ve bir JQuery/Prototip/düz JS anında vurgulamak için işlevini ama ne için ve neden yazabilirsiniz? Biraz detaylandırırsan, birisi bir fikir bulabilir.

0

Bunu tahmin edebileceğimin tek yolu, <canvas> öğesinin kullanılması ve her şeyi el ile gerçekleştirmektir.

1

Saydam bir arka plan görüntüsü veya saydam bir arka plan rengiyle (rgba veya hsla kullanarak) tamamen yerleştirilmiş bir öğe kullanıyorsanız ve seçili alana yerleştirdiyseniz bu mümkündür.

Bunu yapmanın bir başka yolu, tüm tarayıcı görünüm alanını kaplayan ve seçim üzerinde şeffaf bir dikdörtgen çizen, arka planı olmayan, kesinlikle yerleştirilmiş bir tuval elemanına sahip olmaktır.

+0

DOM'yi değiştirmeden bir metin parçasının mutlak konumunu nasıl elde edersiniz? –

+0

öğeyi DOM'a ekleyin, konumunu bulun, sonra silin ve normalleştirin(). – Sleepster

İlgili konular