наследный display
свойство display, как известно, наследуется от родительского элемента. Но если display у элемента не указан, то style.display вернёт значение по умолчанию, хотя у родительского элемента display может отличатся.
Как узнать реальный display Например <div style="display:none"> <span id="spanid">блабла<span> </div> <script> alert(document.getElementById('spanid').style.display); </script> В результате получим не none, что было бы логично, а ''. |
Как раз таки логично именно ''.
Тут: document.getElementById('spanid').style только то, что указанно <span id="spanid" style="тут"><span>.(ну и то, что указанно собсно через style) |
и? Ты просто скопировал мой пример. Результат-то от этого не поменялся.
|
вопрос как раз в том, чтоб определить результирующий display, тот который браузер отобразит.
|
Если не ошибаюсь то свойство display не наследует значение у родителя.
Можно узнать вот так: <html> <head> </head> <body> <div style="display:none"> <span id="spanid">блабла<span> </div> <script> function GetCssStyle(e){ if (e.currentStyle) return e.currentStyle; else if (window.getComputedStyle) return window.getComputedStyle(e,null); } alert(GetCssStyle(document.getElementById('spanid') ).display); </script> </body> </html> Но так вернет default значение - "inline", так как я уже говорил, что если я не ошибаюсь, то display не наследует значение у родителя. |
в том-то и дело что наследует
если открыть пример в браузере, то "блабла" не видно. Аналайзер хрома и фф показывают, что display наследуется от родителя. |
а вам не подойдет свойство visibility ?
<html> <head> </head> <body> <div style="visibility: hidden"> <span id="spanid">блабла<span> </div> <script> function GetCssStyle(e){ if (e.currentStyle) return e.currentStyle; else if (window.getComputedStyle) return window.getComputedStyle(e,null); } alert(GetCssStyle(document.getElementById('spanid') ).visibility); </script> </body> </html> Только нужно учесть что visibility будет занимать место на страничке, поэтому и спрашиваю что если не подойдет :) |
Цитата:
display: block; А он таки у всех свой... |
Цитата:
Цитата:
http://www.tigir.com/javascript.htm |
он наследуется, если не указан явно. в данном случае у span он явно не указан.
visibility не подойдёт, т.к. пишу скрипт для GM. Приходится работать с уже свёрстанной страничкой. |
Часовой пояс GMT +3, время: 23:10. |