我正在使用一個網站,允許其用戶使用一個管理面板,我們可以在DOM加載後爲其添加HTML/CSS/Javascript/Jquery到網站。由於我是用戶,我無法更改從他們的服務器加載的內容。他們提供了一些標籤,您可以將內容放入,我遇到的問題是所有內容都加載了DOM,並且由於我有大量內容,它使網站加載速度有點慢。在頁面加載時刪除標籤內容,然後在點擊標籤時加回
我想要清空/分離/刪除除第一個選項卡以外的所有選項卡內容,即#tab0和#tabcontent0,然後當我單擊其他選項卡時,將內容重新插入。
這是現有的HTML和他們加載的腳本。我可以通過更改來重新加載腳本,或者使用javascript或jquery對其進行更改。
function show_tab (tab_id) {
var done = false;
var counter = 0;
while (! done) {
var this_tab_content = document.getElementById("tabcontent" + counter);
var this_tab = document.getElementById("tab" + counter);
if (! this_tab_content) {
done = true;
} else {
if (counter == tab_id) {
this_tab_content.style.display = '';
this_tab.className = "currenttab";
} else {
this_tab_content.style.display = 'none';
this_tab.className = "";
}
}
counter++;
}
location.hash = tab_id;
}
<div id="homepagetabsdiv">
<ul id="homepagetabs">
<li class="currenttab" id="tab0" onclick="javascript:show_tab('0');">Main</li>
<li class="" id="tab1" onclick="javascript:show_tab('1');">TAB 1</li>
<li class="" id="tab2" onclick="javascript:show_tab('2');">TAB 2</li>
<li class="" id="tab3" onclick="javascript:show_tab('3');">TAB 3</li>
<li class="" id="tab4" onclick="javascript:show_tab('4');">TAB 4</li>
</ul>
</div>
<div id="tabcontent0" class="homepagetabcontent"></div>
<div id="tabcontent1" class="homepagetabcontent"></div>
<div id="tabcontent2" class="homepagetabcontent"></div>
<div id="tabcontent3" class="homepagetabcontent"></div>
<div id="tabcontent4" class="homepagetabcontent"></div>
因此,將css設置爲隱藏......最好在CSS中完成,而不是在JavaScript中完成,這樣您就不會有內容了。或者用我最後回答的代碼。 '$(「#tab1」)。click();' – epascarello
用CSS設置顯示:無,或者可見性:隱藏,無助於加載時間問題,我想用jquery分離,清空或者刪除附加內容或者其他建議 – MShack
有沒有辦法在域中擁有普通的舊HTML文件?如果是這樣,我可以告訴你如何使用xhr在點擊或加載時將內容發送到div。 – zer00ne