jQuery 1.9运行内容而不是显示内容

时间:2016-11-22 20:34:44

标签: jquery tabs

msoliman在2014年发布了这个addTabs替换函数,作为jQuery 1.8中的标签(" add")方法的替代品。

var addTab = function (tabs, tabId, tabLabel, tabContentHtml) {
     var header = "<li><a href='#" + tabId + "'>" + tabLabel + "</a> </li>"
     tabs.find(".ui-tabs-nav").append(header);
     tabs.append("<div id='" + tabId + "'><p>" + tabContentHtml + "</p></div>");
     tabs.tabs("refresh");
};

添加新标签

$("#tabs").tabs();
addTab($("#tabs"), "tab_id1", "Tab 1", "this is just test");

我需要运行内容而不是显示它

addTab($("#tabs_area"), "tab_id1", "Tab 1", myHtmlPage.html );

显然,使用文件名周围的引号,文件名只显示为内容 添加新选项卡而不是显示时,如何使页面运行?

1 个答案:

答案 0 :(得分:0)

您可以尝试使用$.get来获取页面HTML,如下所示:

var addTabFromURL = function (tabs, tabId, tabLabel, tabContentHtml) {
    $.get( tabContentHtml, function( data ) {
         var header = "<li><a href='#" + tabId + "'>" + tabLabel + "</a> </li>"
         tabs.find(".ui-tabs-nav").append(header);
         tabs.append("<div id='" + tabId + "'><p>" + data + "</p></div>");
         tabs.tabs("refresh");
    });
}
addTabFromURL($("#tabs_area"), "tab_id1", "Tab 1", "myHtmlPage.html" );

我创建了一个新函数addTabFromURL,它将相对URL作为最后一个参数。使用$.get,我们可以检索传递的网址的HTML内容,并使用它填充我们的标签。

当然,这种方法只能假设您尝试抓取的页面位于本地子目录中,而不是您无权访问的外部页面。