Я думаю, что вы ошибаетесь. P_key в вашем коде - это имя ограничения, а не имя столбца. Также составной ключ не является столбцом, он используется, когда у вас нет столбца с уникальными значениями. Таким образом, вы берете комбинацию из двух или более столбцов в качестве первичного ключа, чтобы мы могли однозначно идентифицировать строку.
От быстрого теста в Firefox похоже на размер и свойства положения (clientWidth, offsetTop и т.д.) весь возврат 0, когда элемент скрыт родителем тем, чтобы быть display:none
.
Использование прототипа:
if($('someDiv').visible) {...}
Доверие положению, являющемуся 0, является хрупким. Вы - более обеспеченная запись функции помощника для итерации через родителей для проверки их стиля отображения непосредственно.
Поскольку я использую MochiKit, что я придумал на основе ответа P Муравья, был:
getElementPosition('mydiv').y != 0
Я могу также проверить, является ли это в области просмотра (вертикально):
y = getElementPosition('mydiv').y
(y < getViewportPosition().y + getViewportDimensions().h &&
getViewportPosition().y < y)
Случайно это также работает в IE6.