Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/464.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
iframe中的Javascript getElementById_Javascript_Html_Iframe - Fatal编程技术网

iframe中的Javascript getElementById

iframe中的Javascript getElementById,javascript,html,iframe,Javascript,Html,Iframe,401是我想在iframe中得到的值 <iframe id="meal" src="about:blank" name="re"> <td id="calories3">401</td> </iframe> 但它说“测试”是未定义的 当我在控制台中执行typeof(测试)时,它会显示“object” 我不知道为什么我的测试是整个“401” 如何获取号码?您需要访问节点的innerHTML,而不是节点本身。尝试window.a

401是我想在iframe中得到的值

<iframe id="meal" src="about:blank" name="re">
     <td id="calories3">401</td>      
</iframe>
但它说“测试”是未定义的

当我在控制台中执行typeof(测试)时,它会显示“object”

我不知道为什么我的测试是整个“
401


如何获取号码?

您需要访问节点的innerHTML,而不是节点本身。尝试
window.alert(test.innerHTML)


请参见

iframe内容是否与您的页面位于同一域下?如果iframe内容来自您的域之外,您将无法访问它。

我认为您不能像这样直接将子节点粘贴到iframe标记中。您需要将内容实际加载到iframe中

如果运行
console.log(iframe.childNodes)您将看到它实际上返回一个文本对象,而不是td元素。

如果运行
console.log(测试)
它在控制台中打印出
null
,并且
typeof null
==object。

这是有效的HTML吗?我不认为你可以使用这样的
标签。此外,您不能将
置于
之外(或者,也不能是
)。最后,
test.value
将不起作用,因为
没有
value
属性(主要用于
s),您实际上需要
test.innerText
test.textContent
。您能在页面上显示实际的HTML吗?
    var iframe = document.getElementById('meal');
    var frameDoc = iframe.contentDocument || iframe.contentWindow.document;
    var test = frameDoc.getElementById('calories3');
    window.alert(test.value);