我正在使用$.get()
函数从我的网站中提取一些数据。一切都很好但是在其中一个页面上我需要提取的信息是动态创建的,然后插入到<div>
标签中。
因此,在<script>
标记中,运行一个函数,然后将数据插入<div id="infoContainer"></div>
。我需要从#infoContainer
获取信息,但是当我尝试在$.get()
函数中执行此操作时,它只是说它是空的。我发现这是因为<script>
标签没有运行。还有另一种方法吗?
编辑:我正在使用jQuery为我的网站制作一个PhoneGap应用程序来移动内容,以便为手机更精简。
这是我页面上的代码:
$(document).ready(function () {
var embedTag = document.createElement("embed");
var infoContainer = document.getElementById("infoContainer");
if (infoContainer != null) {
embedTag.setAttribute("height", "139");
embedTag.setAttribute("width", "356");...other attributes
infoContainer.appendChild(embedTag);
});
});
如您所见,它将内容放入#infoContainer
标记。但是,当我尝试通过get函数从该标记中提取信息时,它会将其显示为空。我已经做了同样的事情来提取标题,并且效果很好。我可以收集的是脚本标签没有触发。
答案 0 :(得分:0)
这应该为您提供元素的内容:
$('#infoContainer').html();
答案 1 :(得分:0)
也许你的脚本在加载DOM之前正在执行。
因此,如果您正在操作DOM元素,您应该等到加载DOM来操作它。或者,您可以将脚本标记放在HTML文档的末尾。
// These three are equivalent, choose one:
document.addEventListener('DOMContentLoaded', initializeOrWhatever);
$( initializeOrWhatever );
$.ready( initializeOrWhatever );
function initializeOrWhatever(){
// By the time this is called, the DOM is loaded and you can read/write to it
$.getJSON('/foo/', { myData: $('#myInput').val() }, onResponse);
function onResponse(res){
$(document).html('<h1>Hello '+res+'</h1>');
};
};
否则......发布更多细节和代码
答案 2 :(得分:0)
您没有可供参考的ID。在添加
之前尝试设置一个embedTag.setAttribute("id", "uniqueID");
答案 3 :(得分:0)
看起来您想要使用jQuery,但您的示例代码具有vanilla JavaScript。您可以使用以下jQuery(jsFiddle)简化整个函数:
(function () {
var embedTag = $(document.createElement("embed"));
var infoContainer = $("#infoContainer");
if (infoContainer.length) {
embedTag.attr({"height": 139, "width": 356});
infoContainer.append(embedTag);
}
console.log(infoContainer.html()); // This gets you the contents of #infoContainer
})();
jQuery's .get()方法用于将GET
个请求发送到服务器端脚本。我不认为它能做你想做的事。