2014-12-02 2 views
0

У меня есть тег div на моей странице JSP. Его идентификатор автопопулен другими параметрами, которые я не контролирую.Вычислить высоту div с динамически заполняемым значением ID

Тег div выглядит так. Я пропускаю содержимое в div в этом сообщении.

<div class="parallax styleswitch" id="${nodeId}" style="${desktopstyle}" data-large="${desktopstyle}" data-medium="display:none;" data-small="display:none;" data-dtautoheight="true" data-tabautoheight="false" data-mobautoheight="false"> 

Я хочу, чтобы вычислить высоту этого дела. Я был в состоянии сделать эту работу для DIV со статическим ID

$(".testt").height(); 

http://jsfiddle.net/m7cyw70y/

Как я могу использовать значение переменной NodeId в JS, чтобы получить высоту DIV в? Мой JS-код находится на странице JSP, обернутой вокруг тегов скриптов.

ответ

1

В коде JS используйте авто малонаселенных параметры в вашу пользу на стороне сервера:

var nodeToGetHeight = "${nodeId}"; 
$("#" + nodeToGetHeight).height(); 

Эти авто малонаселенных параметры могут быть использованы для заполнения массива, который затем может быть петельные через для нескольких высоты.

+0

Спасибо, Это сработало – user3861559

1

Вы можете использовать другой атрибут вместо id. Пример использования атрибута класса:

$('div.parallax').height(); 

Вы также можете использовать специальный атрибут:

<div custom-attr="myCustomAttr"></div> 

$("div[custom-attr='myCustomAttr']").height(); 

Есть еще больше подходов.

+0

Да, конечно. Но у меня есть еще несколько div с тем же классом, но у всех есть разные идентификаторы. Поэтому я хочу использовать ID для получения высоты. – user3861559

+1

Вы можете использовать 'eq (index)' для фильтрации того div, который вы получаете: '$ ('div.parallax'). Eq (0) .height();'. Кроме того, существует множество способов фильтровать совокупность элементов, называемых общим селектором. – Verhaeren

Смежные вопросы