Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/79.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
Javascript 如何读取HTML标记_Javascript_Html - Fatal编程技术网

Javascript 如何读取HTML标记

Javascript 如何读取HTML标记,javascript,html,Javascript,Html,我想在不使用id/class的情况下用Javascript读取HTML标记。我知道getElementById的功能。但我想知道如何在不使用Javascript中的id或类而不是Jquery的情况下读取HTML标记。您可以使用,例如: var divs=document.getElementsByTagName('div'); divs;//=>文档中“div”元素的列表。 您可以使用document.getElementsByTagName var allDivsinDom = doc

我想在不使用id/class的情况下用Javascript读取HTML标记。我知道getElementById的功能。但我想知道如何在不使用Javascript中的id或类而不是Jquery的情况下读取HTML标记。

您可以使用,例如:

var divs=document.getElementsByTagName('div');
divs;//=>文档中“div”元素的列表。

您可以使用
document.getElementsByTagName

    var allDivsinDom = document.getElementsByTagName('div'); //Array of all divs
    var allAnchorinDom = document.getElementsByTagName('a'); //Array of all a
....

通过这种方式,您可以访问dom中的所有元素,整个dom API都在那里

  • (element).getElementsByTagName
    按标记名获取元素
  • (element).getElementsByClassName
    按类名获取元素
  • (element).querySelector[All]
    获取基于CSS选择器的一个或多个元素
  • (element).children
    获取元素的子元素
  • (元素).childNodes
    获取元素的子节点

这个列表会一直持续下去。

您还可以获取每个子节点的
document.body.childNodes
childNodes
,并读取整个DOM树,如下所示:

function readHTML(node) {
    var i, child;
    if (node.nodeType == 1) { // only tags 
        for (i = 0 ; i < node.childNodes.length ; ++i) {
            child = node.childNodes[i];
            // do something with node
            window.console.info(child.tagName);
            readHTML(child);
        }
    }
}
readHTML(document.body);
函数readHTML(节点){
var i,儿童;
如果(node.nodeType==1){//仅标记
对于(i=0;i

以及前面提出的
document.getElementsByTagName
,页面中的HTML标记形成一棵树;该树的根是一个名为“document”的节点。您可以调用该节点上的方法,如getElementById,以在树中进一步查找节点,但不必这样做

通过访问任何节点的innerHTML属性,可以检索该节点的原始HTML内容,包括整个文档。(请注意,这并没有为您提供节点本身的HTML标记,而是提供其内容的HTML标记,因此如果您还需要该标记,则需要获取节点父节点的innerHTML)


如果要读取整个文档的原始HTML,请尝试访问document.documentElement.innerHTML,并解析从中得到的信息。

读取是什么意思?所有的随机限制是怎么回事?你想做什么?这个moz文档可能对你也有帮助:document.innerHTML是属性,不是函数。document.innerHTML()将引发异常