Javascript 使用ajax将内容加载到div中
我正在使用ajax javascript将view_login.php中的内容加载到index.php的div id=display中Javascript 使用ajax将内容加载到div中,javascript,php,ajax,html-parsing,Javascript,Php,Ajax,Html Parsing,我正在使用ajax javascript将view_login.php中的内容加载到index.php的div id=display中 var hr=new XMLHttpRequest(); hr.open("GET", 'view_login.php', true); hr.onreadystatechange = function(){ if(hr.readyState == 4 && hr.status == 200){ var return_da
var hr=new XMLHttpRequest();
hr.open("GET", 'view_login.php', true);
hr.onreadystatechange = function(){
if(hr.readyState == 4 && hr.status == 200){
var return_data = hr.responseText;
document.getElementById('display').innerHTML = return_data;
}
}
hr.send();
我只针对div本身,而不是echo$output
PHP/HTML
$output = '
<div id="visible">
<form>
<input type="text" name="name"/>
<input type="submit" />
</form>
</div>';
echo $output;
是否可以只针对可见的div及其内容,而不是页面上的每个输出?不使用jquery,只使用普通/原始javascript。在普通javascript中有几种方法可以做到这一点。一种方法是将HTML附加到一个单独的文档中,然后在其上使用querySelector来提取所需的div 其他选择包括: 由IE9+支持。 将其作为div附加到主文档中,但需要确保它在视图中隐藏,然后获取div并将其删除。
你甚至懒得阅读整个页面吗?我认为正则表达式可以工作,但我不知道如何开始。当然,如果你想只针对id可见的div,你应该使用document.getElementById'visible'或者这不是一个选项吗?我也不知道在这种情况下正则表达式应该做什么。
var frag = document.createDocumentFragment();
var div = document.createElement('div'); // create a div to contain the HTML
div.innerHTML = return_data; // insert HTML to the div
frag.appendChild(div); // append the div to the document fragment
var visibleDiv = frag.querySelector("#visible"); // find the #visible div
// append the div to the main document
document.getElementById('display').appendChild(visibleDiv);