Autor Zpráva
hjk
Profil *
Chcem vytiahnuť farbu rámčeka divu. Skúsil som to cez $('.outer').css("border-color"), ale funguje mi to iba v chrome, vo firefoxe a v IE 10 nie. Neviete, prečo?

<div class="outer">
    content
</div>

.outer {
    border: 1px solid red;
}

http://jsfiddle.net/8DrZU/


Vo firefoxe to tiež nefunguje.
Kcko
Profil
hjk:
Tady máš vysvětlení
a tady je to vysvětleno ještě lépe
hjk
Profil *
Kcko:
diki

$('.outer').css("border-left-color")
Chamurappi
Profil
Reaguji na Kcko:
To nevysvětluje, proč nevrátí "red red red red", tedy ekvivalentní hodnotu zapsatelnou do border-color.

Skutečný důvod je, že W3C zadefinovalo zkratkové vlastnosti tak, že v DOMu nemají mít žádnou vypočtenou hodnotu. Tzn. javascriptem vytažené window.getComputedStyle(element).borderColor (které se používá i v jQuery) podle specifikace nesmí obsahovat nic. Tohle je mimochodem docela problém dodržet, když se z normální vlastnosti později stane zkratková, jako se to povedlo třeba u overflow. Je to i hlavní důvod, proč Mozilla nikdy nepřistoupila na podporu microsoftích background-position-x a background-position-y, musela by buď porušit specifikaci, nebo znemožnit čtení z vlastnosti background-position.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: