选择另一个类中的特定类,并使用javascript从DOM获取内部html

时间:2015-06-11 06:08:13

标签: javascript dom

我坚持这件事。可能是一个不成熟的问题。我不知道,我对编程很新。我想从页面的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');

如果是这样的话? 我没有得到任何输出,所以我想知道这种方法是对的.. 提前谢谢。

2 个答案:

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