Проблема с html dom, как получить высоту тега p? - PullRequest
0 голосов
/ 09 ноября 2010

Допустим, у нас есть код ниже:

    <html>
    <head>
    </head>
    <body>
    <p id="paragraph">
    <h1>HELLO</h1>
    dfsdfdsfdsfsdfsd<br />
    sadadsadsad<br />asdsadsadsadsadsadsad<br />
    asdsadsadsadsadsad
    </p>
   <script type="text/javascript">
    alert(document.getElementById('paragraph').offsetHeight);</script>
    </body></html>

Если в ap есть тег:

<h1></h1> or <h2></h2>...

он невозвращает фактическую высоту тега p

jquery ($("#paragraph").height()) возвращает 0, как и

document.getElementById('paragraph').offsetHeight
document.getElementById('paragraph').style.height

Как это исправить?Это ошибка или нет?

Я протестировал ее на Ubuntu с Firefox, Chrome, Opera (последние версии) и не работает.

1 Ответ

2 голосов
/ 09 ноября 2010

Недопустимо, чтобы элемент <h1> был потомком <p>, поэтому браузер перемещает его, оставляя <p> пустым, давая вам высоту 0.

Результирующая разметка в Safari выглядит следующим образом:

<p id="paragraph"></p>
<h1>HELLO</h1>
dfsdfdsfdsfsdfsd<br>
sadadsadsad<br>asdsadsadsadsadsadsad<br>
asdsadsadsadsadsad
<p></p>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...