2016-07-05 31 views
0

我有一個main.html文件,效果很好。javascript - 使用其他html文件的特定數據

var elements = document.getElementsByClassName("quest")
<a class="quest">Quest 1</a> 
 
<a class="quest">Quest 2</a> 
 
<a class="quest">Quest 3</a>

但是我想單獨它。所以main.html文件仍然包含javascript,但其他data.html文件包含代碼的html部分。 我寧願選擇使用純JavaScript(沒有jQuery等)。謝謝。

+1

這是沒有意義的。您可以將JS提取到外部JavaScript文件,但爲什麼要將JS本身保存在HTML文件中?你能詳細說明用例嗎? – mplungjan

+0

這兩個文件也有其他內容。這就是爲什麼我需要他們分開。 –

+0

所以你基本上想在data.html中使用ajax?爲什麼jQuery不被允許,它將簡化包括導航所需的事件代理在內的所有事情 – mplungjan

回答

0

因此,您需要使用JavaScript(原生JavaScript)動態加載HTML頁面的一部分。

您可以使用jQuery爲此目的: $("#htmlContainer").load("data.html");

或者你可以(從這裏https://stackoverflow.com/a/32144585/2376676)原生JS更換jQuery.load:

function load(target, url) { 
    var r = new XMLHttpRequest(); 
    r.open("GET", url, true); 
    r.onreadystatechange = function() { 
    if (r.readyState != 4 || r.status != 200) return; 
    target.innerHTML = r.responseText; 
    }; 
    r.send(); 
} 

load(document.getElementById('container'), 'data.htm'); 
+0

謝謝,但我試過本地,它沒有工作。我創建了一個div class =「container」,但沒有發生任何事情。另外var元素不包含它應該的變量。 ///首先它還有另一個關於url的問題:data.html不在「http:\」位置(導致它在我的計算機上的文件夾中)。不過,我修正了鉻 - 允許文件訪問從文件 –

+0

你應該創建div id =「容器」 –

+0

是的,我寫了身份證,它不起作用。 (在我的評論中只是拼寫錯誤) –

相關問題