我正试图找出'如何'获取div标签的值。 div标签位于嵌入式项目中,而不在文档本身中。以下是嵌入代码的示例。我试图定位的嵌入内的div是final_result_score_text
。
我已尝试使用document.getElementById(id);
,但它无效,因为div标签位于嵌入内部,而不是文档本身。
页面加载时,final_result_score_text
为空。嵌入式测验完成后,final_result_score_text
会收到一个值。
有人可以帮我解释一下代码,还是指点我会指导一下有用的教程?
谢谢!
整页来源
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
</head>
<body>
<script type="text/javascript" src="//cdn.playbuzz.com/widget/feed.js"></script>
<div class="pb_feed" data-embed-by="09097896-3d12-4d72-9d63-e00c39c03f8d" data-game="/aaronw13/us-cities-trivia-questions" ></div>
</body>
</html>
来自Embed的屏幕截图
答案 0 :(得分:1)
您似乎正在从playbuzz.com嵌入测验。因此,嵌入到您网页中的iframe位于不同的域中。存在跨域安全限制,会阻止您通过JavaScript访问iframe的内容。
答案 1 :(得分:0)
我认为您正在尝试获取自动和动态生成的div数据。 第一个解决方案,您可以使用事件来实现您的目标 在用户点击发送或您用于验证该测验的任何按钮后,您将获得该动态div的内容
jquery示例:
$('#validate').click(function(){
var content = $('#target').text();
alert(content);
});
第二种方法是使用setInterval函数(我不确定这是一个好习惯):
在这个setInterval函数中,我们连续地检查每个句点的div的内容。 所以在t = 0时,该div的内容为空
但是当t = x时,div中有内容,它会受到内容变量的影响
示例:
var period = 1000; // 1000 = 1 second
var content = '';
setInterval(function(){
content = $('#target').text();
},period);