我想打印Hello World。但它不起作用。为什么?问题出在第30行,如何更改此行以打印“Hello World”。按类“例子”?我已经尝试了var x = y.getElementsByClassName("example");
和var x = variavelhtttp.responseXML.getElementsByClassName("example");
,但没有成功。
的index.html
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Load page</title>
<script src="https://code.jquery.com/jquery-1.10.2.js"></script>
<script type="text/javascript">
if(window.XMLHttpRequest){
variavelhtttp = new XMLHttpRequest();
}else{
alert("Withouth Ajax!");
}
</script>
</head>
<body>
<button type="button" onclick="loadDoc()">Go</button>
<script type="text/javascript">
function loadDoc(){
variavelhtttp= new XMLHttpRequest();
variavelhtttp.open("GET","text.html",false);
variavelhtttp.send();
var y = variavelhtttp.responseText;
window.alert(y);
var x = $( ".example" ).html(y);
alert(x);
}
</script>
</body>
</html>
text.html
<html>
<head>
<title></title>
</head>
<body>
<div class="example">Hello World.</div>
</body>
</html>
答案 0 :(得分:0)
$( ".example" ).html(y)
在.example
和var x = $( ".example" ).html(y);
会使x成为对象,您可以使用alert(x);
您想要的提醒:
alert( $( ".example" ).html() );
OR
alert( $( ".example" ).text() );
答案 1 :(得分:0)
@snoopy,如果要访问从axaj调用中检索到的div.example的内部文本,则必须正确解析它。首先,如果你正在使用jQuery,那么在这里使用vanillaJS是没有意义的。其次,您的HTTPRequest 不是ajax调用,因为您在同步模式上使用它(而不是异步模式,从AJAX代表的A)。
以下是使用load
和过滤器的示例。
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Load page</title>
</head>
<body>
<button type="button">Go</button>
<script src="https://code.jquery.com/jquery-1.10.2.js"></script>
<script type="text/javascript">
$('button').click(loadDoc);
function loadDoc(){
//use a DOM element created by jQuery to hold the response!
var container = $('<div>');
//.load allows you to filter the text using a CSS selector
container.load("text.html .example", null, print);
//uses the complete handler to execute code after ajax done
function print(){
var example = $('.example', container);
alert(example.text());
//you can ommit this line if you don't want to append in the real DOM
$('body').append( example );
}
}
</script>
</body>
</html>
实例https://plnkr.co/edit/4yniGzRVjFDNXY9b4Hds?p=preview
仅使用HTML和vanillaJS的实例:https://plnkr.co/edit/0S7XJ8xVFa43wWNw8Xtg?p=preview