JQuery CSS свойство не работает

0
$("#content-container-2").css('min-height', '1000px');
$('#content-container-2').attr('style','min-height:1000px;');

оба не работают. Однако установка этого с помощью таблицы стилей работает очень хорошо. При использовании jquery с указанными выше командами и проверкой свойств css с firebug, они также не показывают, что минимальная высота была установлена вообще. И последнее, но не менее важное: распечатка:

console.log($("#content-container-2").height());
console.log($("#content-container-2").outerHeight());
console.log($("#content-container-2").innerHeight());

возвращает null во всех случаях.

Кто-нибудь знает, почему это так?

  • 0
    Можете ли вы добавить JSFiddle? Спасибо
  • 0
    убедитесь, что вы включили файл сценария Jquery.
Показать ещё 7 комментариев
Теги:

4 ответа

1

Единственный способ для .height() вернуть null - если элемент не найден.

Если ваш элемент #content-container-2 добавлен на страницу через вызовы ajax, тогда вам нужно будет запустить свой код в обратном вызове успеха вызова ajax.
(то же самое может произойти, если вы используете механизм шаблонов, и шаблон еще не был введен в DOM)

Вам нужно будет убедиться, что $ принадлежит jQuery, а не другой библиотеке


Для отладки попробуйте

var el = $('#content-container-2');
console.log( $ === jQuery, $.fn.jquery, el, el.height() );
  • 0
    Я собирался попросить войти элемент в сценарий. Ведение журнала вручную запускает код при различных обстоятельствах, создавая ложное представление о правильности ...
  • 0
    @ Derija93 Я тоже так думал, поэтому предлагаю отладку, которая прояснит нас. В качестве альтернативы ОП должен опубликовать живую версию страницы ..
Показать ещё 1 комментарий
0

Вероятно, это означает, что ваш jquery не находит этот конкретный идентификатор. Вы уверены, что правильно написано, и уверены, что это не класс, а не id?

jQuery возвращает null, если совпадений нет.

Другое соображение заключается в том, что ваш jQuery вызывается до того, как страница будет готова. Для запуска jQuery после загрузки страницы используйте следующее:

$(function(){
     //Your code goes here.
});

Все, что внутри этого кодового блока будет выполнено после загрузки страницы.

  • 0
    Я уверен. Вот почему я так смущен этим. Как написано выше, этот скрипт вызывается после включения jquery, он оборачивается внутри $ (function () {...}), когда я захожу на console.log ($ ("content-container-2")), когда консоль печатает меня из div со всеми его свойствами, однако, стиль просто не будет применяться.
  • 0
    Кроме того, даже если jQuery не соответствует селектору, он просто возвращает пустую оболочку, а не null . jsBin
Показать ещё 4 комментария
0

Вы должны указать min-height так, как это понимает javascript:

$("#content-container-2").css({'minHeight': '1000px'});

  • 0
    JavaScript прекрасно понимает 'min-height' ...
  • 0
    Синтаксис JavaScript: object.style.minHeight = "10px" [ w3schools.com/cssref/pr_dim_min-height.asp](W3cSchool)
Показать ещё 5 комментариев
0

Чтобы установить атрибут:

$('#content-container-2').attr('style','min-height:1000px;');

Получить значение:

$('#content-container-2').attr('style');

Если не работает, проверьте правильность ссылки на jquery.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню