2016-07-05 9 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を使用してHTMLページの一部を動的にロードする必要があります(ネイティブJavaScript)。

あなたは、この目的のために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クラス= "コンテナ"を作成しましたが、何も起こりませんでした。また、var要素には、必要な変数が含まれていません。 ///最初に、URLに関する別の問題が発生しました.data.htmlは "http:\"の場所にありません(フォルダ内のコンピュータ上にあります)。しかし、私はそれをChromeで修正しました - ファイルアクセス可能ファイルから –

+0

div id = "container"を作成する必要があります –

+0

はい私はIDを書いていて動作しません。 (私のコメントに間違いがあります) –

関連する問題