この問題は私にはまったく間違っています。私はJavascriptでHTMLスニペットをインクルードしようとしていますが、それはうまくいきますが、なんらかの理由で他のさまざまな場所にスニペットが含まれていると判断します。ここでJavascriptのHTMLには重複した結果がランダムな場所に含まれています
また含み、これらのランダムの数と位置を変化させます。
これは私が使用する機能です。これは、属性を持つdiv要素は=「x.html」
function include() {
var allElements;
var fileName;
var includeRequest;
allElements = document.getElementsByTagName("*");
for (var i = 0; i < allElements.length; i++) {
if (allElements[i].getAttribute("include")) {
fileName = allElements[i].getAttribute("include");
includeRequest = new XMLHttpRequest();
includeRequest.open("GET", fileName, true);
includeRequest.onreadystatechange = function() {
if (includeRequest.readyState == 4 && includeRequest.status == 200) {
allElements[i].removeAttribute("include");
allElements[i].innerHTML = includeRequest.responseText;
include();
delete includeRequest;
includeRequest = null;
}
}
includeRequest.send();
return;
}
}
}
を含めるこれは、記事を含むHTMLファイルからタグを取得する機能である、とのタグのリストに追加した文書を検索して見つけました右のボックス。ご覧のとおり、1つの場所では、フッタがタグの代わりにリストに追加されます。どうしてか分かりません。
function getTags() {
var taglist = document.getElementById("taglist");
var tagsRequest = new XMLHttpRequest();
tagsRequest.open("GET", "blogstubs.html", true);
tagsRequest.responseType = "document";
tagsRequest.onreadystatechange = function() {
if (tagsRequest.readyState == 4 && tagsRequest.status == 200) {
var tagsResponse = tagsRequest.responseXML;
var tags = tagsResponse.getElementsByClassName("tag");
var tags = getUnique(tags);
var len = tags.length;
for (var i = 0; i < len; i++) {
var li = document.createElement("li");
li.appendChild(tags[i]);
taglist.appendChild(li);
}
delete tagsRequest;
tagsRequest = null;
}
}
tagsRequest.send();
}
Javascriptのみ解決してください。アイデア?
javascriptで 'delete'が動作しないと思われるようです。 – Ryan
@ライアン私は未だ何も残していません。これにはおそらく単純な解決策があります。 – GodProbablyExists
'include()'関数の 'for(i)'ループに関しては、http://stackoverflow.com/questions/1451009/javascript-infamous-loop-issueを参照してください。 – Barmar