Hej du kan väll kanske kolla parentElement några steg upp i domen för att se om du hittar diven? document.selection.createRange().parentElement().tagName == 'DIV'
Jag har ett litet problem med en enkel html redigerare som jag bygger.
Jag har två delar jag använder.
En textarea att skriva i och en div tag där det färdiga resultatet visas.
Tanken är att man även ska kunna markera och sätta dit <b,>, <i> osv. i divtagen
För att undvika att text utanför textarean eller divtagen markeras använder jag.
document.selection.createRange().parentElement().tagName == 'TEXTAREA'
document.selection.createRange().parentElement().tagName == 'DIV'
Och det fungerar bra textarean. I divtagen däremot uppstår det snart problem, då resultatet visas i html.
Markerar man en mening och sätter kursivstil på den och även vill betona ett ord i meningen med fet stil, så uppstår problemet.
För då är inte tagName DIV längre utan I.
Så min fråga är kan man på något sätt få fram att markeringen befinner sig inom div tagens ramar?
Mvh
KjellSv: document.selection.createRange().parentElement().tagName == 'DIV'
din markering med kursiv har ju lagt till en i tag , så det ser ut nått i stil med
<div><i> din text </i></div>
nått sånt här...
parent = document.selection.createRange().parentElement();
while(parent!=null)
{
if(parent.tagName != 'DIV')
parent = parent.parentElement();
else
break;
if (antalsteg > såmångasteg du vill kolla)
break;
antalsteg++;
}