0
ボタンのテキストを同じドメインの別のhtmlドキュメントに保存されているテキストに変更するhtmlドキュメントに、いくつかのAjaxコードがあります。テキストはこのdocument.Like第二のhtmlのbodyタグである:Ajax html Domparser
<body> Text</body>
のでコードは、AJAX要求を行う、XMLDOCを作成するための応答を解析します。私が使用しようとすると
getElementByTagName("body") or even getElementByTagName("html")
私は空のHTMLコレクションを取得します。私は
queryselector("body") I can get to the text. The log to console prints undefined.
を使用する場合でも、ここでは完全なコードです:
function gettxt()
{
var xmlhttp;
if (window.XMLHttpRequest)
{
xmlhttp=new XMLHttpRequest();
}
else
{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET", "http://localhost/ajax2.html", true);
xmlhttp.onreadystatechange = function()
{
if (xmlhttp.readyState === 4) {
if (xmlhttp.status === 200)
{
allText = xmlhttp.responseText;
var parser = new DOMParser();
var xmlDoc = parser.parseFromString(allText, "application/xml");
var bodyobj=xmlDoc.getElementsByTagName("body");
console.log(bodyobj.lemgth);
document.getElementById("secbtn").value=bodyobj;
}
}
}
xmlhttp.send(null);
}
は、私が何をしないのですか?ありがとう。
あなたは 'bodyobj.lemgth'をログしています。それは' bodyobj.length'ではありませんか? – Torious
ブラウザはFirefox 11.0を使用しています。 – sotn
トーラス、あなたの正しい綴りは間違っています。私は何が間違っているのか分かっています。 bodyobj [0] .innerHTMLの代わりにbodyobjにボタンのテキストを設定しました。私を捨ててしまったことの1つは、Firebugの時計タブでした。これは、変数bodyobjの後に行 を示します。var bodyobj = xmlDoc.getElementsByTagName( "body"); は 'HTMLCollection'ではなく 'undefined'として実行されます。それは誰でも知っていますか? – sotn