2012-04-15 5 views
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); 

} 

は、私が何をしないのですか?ありがとう。

+0

あなたは 'bodyobj.lemgth'をログしています。それは' bodyobj.length'ではありませんか? – Torious

+0

ブラウザはFirefox 11.0を使用しています。 – sotn

+0

トーラス、あなたの正しい綴りは間違っています。私は何が間違っているのか分かっています。 bodyobj [0] .innerHTMLの代わりにbodyobjにボタンのテキストを設定しました。私を捨ててしまったことの1つは、Firebugの時計タブでした。これは、変数bodyobjの後に行 を示します。var bodyobj = xmlDoc.getElementsByTagName( "body"); は 'HTMLCollection'ではなく 'undefined'として実行されます。それは誰でも知っていますか? – sotn

答えて

0

私は間違っていることを知っています。 bodyobj [0] .innerHTMLの代わりにbodyobjにボタンのテキストを設定しました。

関連する問題