Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.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 从父节点检索子节点_Javascript_Html - Fatal编程技术网

Javascript 从父节点检索子节点

Javascript 从父节点检索子节点,javascript,html,Javascript,Html,我已经用html创建了一个文档。我想从根节点检索子节点,我正在使用以下代码 这就是HTML <a id="Main1" onclick="RetrieveElement(this);">Test1 <div name="Top1"> </div> <div name="Middle1"> I'm Middle. </div> <div name="Bottom1"> </div> </a> <a

我已经用html创建了一个文档。我想从根节点检索子节点,我正在使用以下代码

这就是HTML

<a id="Main1" onclick="RetrieveElement(this);">Test1
<div name="Top1">
</div>
<div name="Middle1">
I'm Middle.
</div>
<div name="Bottom1">
</div>
</a>
<a id="Main2" onclick="RetrieveElement(this);">Test2
<div name="Top1">
</div>
<div name="Middle1">
I'm Middle.
</div>
<div name="Bottom1">
</div>
</a>

然而,这是行不通的。我试着找出问题,但解决不了。。。有什么帮助吗?

如果只想获取第一个子元素:

var element = document.getElementById('Main1').children[0];

如果要获取第一个锚元素:

 var element = document.getElementById('Main1').getElementById('Middle1');

如果只想获取第一个子元素:

var element = document.getElementById('Main1').children[0];

如果要获取第一个锚元素:

 var element = document.getElementById('Main1').getElementById('Middle1');
你会使用jQuery吗

这会很简单,你能用jQuery吗


这很容易,因为getElementById是一种文档方法,而不是元素。试试这个:

<script type="text/javascript">
    function RetrieveElement(element){
        window.alert(document.getElementById("Middle1").innerHTML);
    }

</script>

<a id="Main1" href="#" onclick="RetrieveElement(this);">Test1</a>
<div id="Top1">
</div>
<div id="Middle1">
    I'm Middle.
</div>
<div id="Bottom1">
</div>

函数RetrieveElement(元素){
alert(document.getElementById(“Middle1”).innerHTML);
}
我在中间。

getElementById
是一种文档方法,而不是元素。试试这个:

<script type="text/javascript">
    function RetrieveElement(element){
        window.alert(document.getElementById("Middle1").innerHTML);
    }

</script>

<a id="Main1" href="#" onclick="RetrieveElement(this);">Test1</a>
<div id="Top1">
</div>
<div id="Middle1">
    I'm Middle.
</div>
<div id="Bottom1">
</div>

函数RetrieveElement(元素){
alert(document.getElementById(“Middle1”).innerHTML);
}
我在中间。

由于id应该是唯一的,在您的示例中,您可以使用
document.getElementById(“Middle1”).innerHTML,因为没有其他匹配项。否则,使用jQuery是一个选项吗?因为id应该是唯一的,所以在您的示例中,您可以只使用
document.getElementById(“Middle1”).innerHTML
,因为没有其他匹配项。否则,使用jQuery是一种选择吗?