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 );
显然,使用文件名周围的引号,文件名只显示为内容 添加新选项卡而不是显示时,如何使页面运行?
答案 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内容,并使用它填充我们的标签。
当然,这种方法只能假设您尝试抓取的页面位于本地子目录中,而不是您无权访问的外部页面。