检查嵌入项{div}中div的值

时间:2015-05-18 20:22:48

标签: javascript jquery

我正试图找出'如何'获取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的屏幕截图 enter image description here

2 个答案:

答案 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);