使用 JavaScript 从 AJAX 响应中获取 DOM 元素
get DOM element from AJAX response with JavaScript
我有一个 AJAX 请求,它返回一块 HTML 作为插入到div 中的响应。 如何使用 JavaScript 从该 AJAX 响应 HTML 中获取 DOM 元素? 我在返回的HTML响应div的末尾有JavaScript,但是getElementById返回null,显然是因为DOM尚未创建,并且我不能像在普通网页上那样使用window.onload。 请参阅下面的内容。 这必须在JavaScript中 - 没有库。
<div class="page-content extractAjaxContent" id="tableContent_AJAX">
<div id="name">Biff</div>
<html:form action="/variableCostStatusPost" method="post">
....some JSP to produce HTML
</html:form>
<script>console.log("Name is " + document.getElementById('name'));</script>
</div>
演示:http://jsfiddle.net/wxCJL/1/
在此示例中,setTimeout
调用模拟 ajax 请求的 success
函数,变量 responseData
是服务器返回的 HTML 的占位符。
脚本
function onLoad() {
var holder = document.getElementById('content');
//simulate ajax call
setTimeout(function() {
// this code will be in the success handler
var responseData = "<div><strong>Here I Come</strong> to save the day!</div>";
holder.innerHTML = responseData;
}, 2500);
}
目录
<h1>Hello</h1>
<div>
Where is the content?
<span id='content'></span>
</div>
您有两个选项,具体取决于您需要支持的浏览器:
-
如果您需要支持所有浏览器,请将
console.log
代码放入 ajax 响应后调用的"成功"函数中。这将确保它仅在 ajax 更新div 后运行。 -
如果您只需要支持 HTML5 兼容的浏览器,请侦听 "name"div 上的
DOMNodeInserted
事件,而不是通过innerHTML
更改它,创建并附加 html 代码对象
相关文章:
- Ember.js-获取DOM元素的模型数据
- 如何获取dom元素的代码行号
- 如何使用d3.jsj或jquery获取DOM
- 如何获取dom修改的选择框的当前所选选项
- 获取DOM中属性名称以某个字符串开头的所有HTML元素
- 在插入符号位置获取DOM元素
- 使用 jQuery 获取 DOM 元素的 XPath
- 获取DOM元素的性能差异
- 在 GWT 中按属性获取 DOM 元素
- Chrome扩展程序获取DOM文本并在弹出窗口中显示.html然后单击按钮
- jQuery:在具有相同类的对象列表中获取 DOM 中的对象编号
- 是否可以从外部样式表中获取 dom 元素的特定 css 属性的值,而不是从计算的样式表中获取
- 获取 DOM 中的拉斐尔 id 属性
- 如何获取 dom 元素的当前 html
- 如何在 YUI 事件处理程序中获取 DOM 节点
- 如何在javascript中获取DOM元素内容的二进制表示
- 使用 JavaScript 从 AJAX 响应中获取 DOM 元素
- 从字符串中获取 DOM
- 如何在电子应用程序中从浏览器窗口获取DOM树
- 哞.无法在 iframe 中获取 DOM 元素