2013-10-07 5 views
0

Контейнер с открытым контейнером прекрасно подходит для содержимого переполнения. Это работает. Но как подключить ссылку вызванного элемента HTML с помощью jQuery. Там должно быть лучше, чем это $("#"+divId)Как получить ссылку на объект HTML-элемента для использования jQuery?

Я получил этот код:

$('.text').mouseenter(function() { 

//var $id = $(this); ? 
//var $id = document.getElementById(divId); ? 
var divId = this.id; 
    var $id = $("#"+divId); 

var overflow = $id.prop("scrollHeight"); 

this.divHeight = $id.height(); 

$id.animate({height:overflow},1000); 
}); 

.text{ 
color: #000000; 
background-color: #ffffff; 
overflow: hidden; 
height: 100px; 
position: relativ;} 


<div class="text" id="text1"> 
<content> 
</div> 
<div class="text" id="text2"> 
<content> 
</div> 
<div class="text" id="text3"> 
<content> 
</div> 

PS Почему $(this).height() работает, но это не $(this).prop("scrollHeight")?

Спасибо за понимание.

+0

Так что вы хотите получить 'this' как JQuery Collection правильно? '$ this = $ (this);' ... Подробнее здесь '=>' [api.jquery] (http://api.jquery.com/jQuery/) – Stphane

+0

нет коллекции, просто ссылка $ на событие активированный элемент div. Поэтому я могу использовать его как Селектор для элемента (например, $ ("# text1")) – Pek

+0

Вы можете называть его любым, что вам нравится, на самом деле это ссылка на div, имеющую слушателя «mouseenter». @ Pek – Stphane

ответ

2

попробовать что-то вроде этого

ИЗМЕНЕНИЯ ЭТА

var divId = this.id; 
var $id = $("#"+divId); 

К

var $id = $(this); 
+0

Работает для $ (this) .height(), но не для $ (this) .prop ("scrollHeight") – Pek

+0

что вы получаете на scrollHeight –

0
Use jquery method like this 
    $(this).prop("scrollHeight"); 
Смежные вопросы