Zdravím,
zajímalo by mne, jak získat z nějakého DIVu nebo jiného elementu jeho obsah (něco jako innerHTML) ale BEZ html značek.
Vím, že pro Mozillu existuje něco jako vlastnost "textContent" (užití: document.getElementById("divA").textContent ), ale to zdá se funguje jen v Mozille a ne v IE.
Nějaké nápady?
díky
Dominic
Hezký nápad je tady :-) Praktické použití substr. Získaný řetězec proženeš cyklem, zjistíš znak < a znak > a mezi nimi to odsekneš. Nazávislé na prohlížeči.
http://www.gamarod.com.ar/javascript/remover_tags_html_mediante_javascript_rutina_javascript.asp
Díky moc. Programuju už dlouho, ale takové jednoduché řešení mě nenapadlo :-). Nejspíše to bude tím, že jsem hledap nějaké speciální funkce, které to udělají rychle a v jednom řádku.
přeji hezký den a ještě jednou díky za pomoc
Dominic
a což teprve jednořádkové řešení pomocí regulárního výrazu....
viz Marek, JS innerHTML + JS regularni vyrazy v naproste pohodicce se to pouziva uz 50 let.
peta, tak 50let ne, to jsi trochu přehnal, ale nějakých 8-10 už možná jo. ;-)
konkrétní (h)řešení:
<!-- vvvvvvvvvvvvvvvv pokusný html kousek vvvvvvvvvvvv -->
<div id="toto">
<p>textik jako textik <a href="nikam">nikam</a>
</p>
</div>
<!-- ^^^^^^^^^^^ pokusný html kousek ^^^^^^^^^ -->
<script type="text/javascript">
// vyzvedneš si element, který potřebuješ, získat ho můžeš celkem libovolně
var e = document.getElementById("toto");
// vnitřek tagu
var s = e.innerHTML;
// tohle je regexp, který hledá tagy uvnitř textu
var re = new RegExp('(<[^>]*>)', 'g');
// vymění tagy (podle regexp) za prázdný řetězec, takže je smaže ;-)
var vysl=s.replace(re, "");
// v proměnné vysl je text zbavený tagů
document.write(vysl);
</script>