如何使用jQuery或javascript获取tabcontainer的高度?

时间:2013-03-14 10:20:52

标签: javascript jquery asp.net tabcontainer

我手风琴中有一个tabcontainer。

如果我所在的标签比我切换到的标签短,我必须滚动查看新标签上的内容。

当我切换到tabcontainer并重新调整包含它的div时,我希望能够“捕获”tabcontainer的高度。

我想:

 function clientActiveTabChanged(sender, args) {

         alert(sender.height());
        };

会告诉我身高,但不起作用。

TabContainer是:

 <ajaxToolkit:TabContainer ID="projTabContainer" OnClientActiveTabChanged="clientActiveTabChanged"  runat="server" CssClass="ajax__tab_red-theme">

3 个答案:

答案 0 :(得分:1)

传递给sender的{​​{1}}不是jQuery对象,而是DOMElement。请尝试以下方法:

clientActiveTabChanged

答案 1 :(得分:1)

我认为这会对您有所帮助:here

$(myJquerySelector).attr('id');

您只需将"id"更改为"height"

即可

编辑:您可以使用:event_target

获取活动的目标

选择id:

 $('TabContainer').change(function(event) {
  var tabContainerID = $(event.target).attr('id');
  alert(tabContainerID);
});

现在,当您单击选项卡时,您将获得该ID。 使用此ID,您可以轻松找到高度。 我希望这对你有帮助。

答案 2 :(得分:1)

您可以自动调整标签容器的大小 - (参考:Auto Resize TabContainer

function clientActiveTabChanged() {
    //get the tabContainer for later reference
    var tc = document.getElementById("<%=tabContainer.ClientId%>");

    //get the index of the tab you just clicked.
    var tabIndex = 
         parseInt($find("<%=tabContainer.ClientId%>").get_activeTabIndex(), 10);

    //set the tabcontainer height to the tab panel height.
    tc.childNodes[1].style.height = 
         tc.childNodes[1].childNodes[tabIndex].clientHeight;
};

根据需要对上述功能进行更改。