我坚持这件事。可能是一个不成熟的问题。我不知道,我对编程很新。我想从页面的DOM中获取特定元素内部html。问题是页面太复杂了它有很多类子类href,span和各种各样的东西。这是从我需要的类的视角看起来的样子(还有很多其他类和id'但这是导航到我要求的课程,我跳过了其他课程。)
<html>
<head></head>
<body>
<div class=
<span style=
<iframe class=
#document
<html id=
<body class=
<div class=
<div id=
<div id=
<div class=
<div class=
<span id=
<a class=
<div class= "required class"
</div>
</a>
<span>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
</iframe>
</span>
</div>
</body>
<html>
无论如何使用getelementbyID,getelementsbyClassName
或任何javascript属性来获取特定元素?
这是正确的吗?
document.getElementById('main').getElementsByClassName('test');
如果是这样的话? 我没有得到任何输出,所以我想知道这种方法是对的.. 提前谢谢。
答案 0 :(得分:1)
假设您的iframe
是从同一个域加载的,并且您想要访问此iframe
中的内容,则必须执行以下操作:
document.getElementsByTagName('iframe')[0].contentWindow.document.getElementsByClassName('required class');
请查看此jsFiddle,例如在其 iframe 中加载fiddle.jshell.net
,并将红色颜色应用于找到的第一个编辑器。代码如下:
document.getElementsByTagName('iframe')[0].contentWindow.document.getElementsByClassName('CodeMirror-scroll')[0].style.backgroundColor="red";
答案 1 :(得分:0)
如果你想要一个DOM元素的内部HTML,那么这就是你可以做的,
首先通过它的ID访问元素并使用innerHTML
将HTML内容作为其中的内容获取,
var x = document.getElementById("main").innerHTML;
alert(x);
您没有获得正确的输出,因为您没有引用该对象而没有使用innerHTML
访问它的HTML内容
编辑:要按类名访问元素,可以使用以下脚本
var x = document.getElementsByClassName("main");
for(var i=0;i<x.length;;i++){
alert(x[i].innerHTML);
}