Har ett gäng javascript som körs på en sida. När jag kör en if-sats fungerar det inte i firefox, men funkar utmärkt i IE7. Vad är problemet? <code> Kör alert('panel_' + strTab); och jämför resultaten mellan FF och IE... det kanske är så att FF inte genererar resultatet [object]... <b>Kör alert('panel_' + strTab); och jämför resultaten mellan FF och IE... det kanske är så att FF inte genererar resultatet [object].</b> Vad är det du vill ha reda på? Ska du använda för att kolla att det är ett "object" och sätta t.ex. en class på den? Det är tre olika paneler som kan visas. If är en kontroll att det är ett objekt antar jag. I IE körs allt precis som det ska. I FF kommer den inte in i if, men genererar inte ett felmeddelande. Min gissning är att IE tolkar if ($ ('panel_' + strTab) == '[object]') som att det är ett objekt eller inte medans FF tolkar det som om det är '[object]' eller inte, dvs ett textobjekt. Men är inte säker. Nej, ingenting. Det är som att den kör if, men returnerar false i FF där den returnerar true i IE. Det gjorde susen. Det behövdes alltså ett typeof. Tack för hjälpen båda två. Inte bara typeof. Jag tog även bort kantparenteserna runt "object". När ett objekt typkonverteras till text (via metoden toString()), ger Firefox klassnamnet, t.ex. HTMLDivElement, medan IE ger det ganska intetsägande "[object]". Om du ska sätta t.ex class på "panel_2" så behöver du inte kolla om objectet finns, utan jQuery tar hand om det och sätter classen endast om objectet finns... ganska smidigt, men det ger tyvärr inga felmeddelanden så att man vet att det finns eller inte... Så att jag skulle säga att endast om du vill ha en kvittens på om objectet inte finns så behöver du kolla det först...Problem i firefox
if ($ ('panel_' + strTab) == '[object]') {
alert('1');
}Sv:Problem i firefox
<td id="tabproperties" onmouseover="javascript:this.style.cursor='pointer';" onclick="javascript:selectedTab('properties');" class="MediaTab">
Test
</td>
</code>
Hämtas upp i funktion och allt körs som det ska utom den if-satsen.Sv: Problem i firefox
Vad är det du vill åstadkomma? Använder du jQuery så behöver du aldrig vara och kladda på HTML-elementen utan kan göras direkt på valfritt HTML-element i en separat .js-fil eller innanför <head>-taggen. Ska du använda 'panel_' + strTab för att ta reda på om den finns, innan du lagara något så kan du glömma checken utan mata in det du vill göra direkt. Finns det inte så ta jQuery hand om det och ser till att du slipper felmeddelande.Sv:Problem i firefox
Exakt, den verkar inte gererera resultatet object i FF. Resultat på alert visar precis som det ska göra. Dock antar jag att det har något med $ att göra. Får försöka hitta workaround på det.Sv: Problem i firefox
Sv:Problem i firefox
Sv:Problem i firefox
Sv:Problem i firefox
Sv: Problem i firefox
Sv:Problem i firefox