Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用ajax将内容加载到div中_Javascript_Php_Ajax_Html Parsing - Fatal编程技术网

Javascript 使用ajax将内容加载到div中

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

我正在使用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_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);