Почему я получаю сообщение об ошибке, когда пытаюсь получить высоту элемента из тега rel?

0

Я пытаюсь создать функциональность, раскрывая больше элемента, когда вы нажимаете на ссылку с тегом rel, который ссылается на нее.

    <div class="reveal-more"><a href="#" rel="#new-deals">View More Deals &#9660;</a></div>

$(".reveal-more a").click( function() {
    var moreContainer = $(this).attr('rel');
    var moreContainerHeight = $("'" + moreContainer + "'").height;
    alert(moreContainerHeight);

    return false;
});

Chrome продолжает бросать ошибку - Синтаксическая ошибка, нераспознанное выражение: '# new-deals'

Теги:
rel

2 ответа

1
Лучший ответ

Кажется, у вас проблемы с переносом переменной, попробуйте изменить код на следующее, я обнаружил, что он работает нормально с кодом:

<div class="reveal-more"><a href="#" rel="#new-deals">View More Deals &#9660;</a></div>

    $(".reveal-more a").click( function() {
        var moreContainer = $(this).attr('rel');
        var moreContainerHeight = $(moreContainer).height();
        alert(moreContainerHeight);

        return false;
    });

Я считаю, что ваша проблема заключалась в том, что у вас был строковый объект, и вы обертывали строку в '' когда jQuery автоматически обрабатывает это.

EDIT: измененный код

  • 0
    Да, я пытался, что он также работает, но не выводит высоту, это предупреждает строку 4 JQuery. т.е. - функция (i, o) {... и так далее для нескольких строк.
  • 0
    Извините, .height() - это функция, а не переменная. Таким образом, вы должны изменить .height чтобы быть .height() .
0

Я думаю, это потому, что вы просите высоты класса.

На самом деле вам нужно спросить высоту идентификатора.

Класс может относиться к серии div, все с разной высотой.

  • 0
    # new-deals - это ссылка на идентификатор, а не класс, который был бы .new-deal
  • 0
    Понятно, моя ошибка. Но # new-deal относится к тегу <a>, а не к div, и это div, который вы хотите расширить, не так ли?
Показать ещё 3 комментария

Ещё вопросы

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