从html获取节点/子节点

时间:2014-02-11 11:07:43

标签: javascript php html parent-child children

我做的第一件事就是回复一些HTML代码:

echo "<div>
        <file>somefile</file>
        <file>another file</file>
      </div>";

然后我通过JavaScript查找文件的所有实例:

var file = document.getElementsByTagName("file");

然后我可以通过以下方式从每个文件中获取值:

file[index].childNodes[0].nodeValue

现在我想在<file>添加另一个级别,如下所示:

echo "<div>
        <file>
          <em1>element1</em1>
          <em2>element2</em2>
        </file>
      </div>";

我如何获得这些em值?我想做点什么:

file[index].getValueFromEm1...

3 个答案:

答案 0 :(得分:0)

尝试

file[index].childNodes[0].nodeValue
file[index].childNodes[1].nodeValue

等...

答案 1 :(得分:0)

试试这个

<强> PHP

<?php
echo "<div>
        <file>
          <em1>element1</em1>
          <em2>element2</em2>
        </file>

       <file>
        <em1>element3</em1>
        <em2>element4</em2>
      </file>
      </div>";
?>

<强> JS

<script>
var file = document.getElementsByTagName("file");
for(var i=0; i<file.length; i++)
{
    var filenodes = file[i].childNodes;
    for(var j=0; j<filenodes.length; j++)
    {
        var element_text = filenodes[j].innerHTML;
        if(typeof element_text!= 'undefined')
        {
            alert(element_text);
        }   
    }
}
</script>

答案 2 :(得分:0)

您仍然可以像访问原始内容一样访问ems的内容。

var files= document.getElementsByTagName("file");
files[0].childNodes[0].textContent
files[0].childNodes[1].textContent