2015-02-23 66 views
0

我试图(在原生Javascript中,所以没有jQuery或任何东西)获取div的发生前后的内容。使用原生JavaScript获取id(或类)之前和之后div的内容

HTML:

<div id="thisIsWhatIWant"> 
    <span>foo</span> 
    <div id="helloWorld">hello world</div> 
    <p>bar</p> 
</div> 

所以我想<span>foo</span><p>bar</p>在单独瓦尔。

JS:

var beforeElement_helloWorld = ...do something to get <span>foo</span>... 
var afterElement_helloWorld = ...do something to get <p>bar</p>... 

注:
可能有更多的div,跨度等在HTML的例子。

+1

可能的重复,http://stackoverflow.com/questions/8647216/get-content-of-a-div-using-javascript – mrciga 2015-02-23 21:38:51

+1

@mrciga绝对没有重复;-) – 2015-02-23 21:44:11

+0

@bvl:请问主要问题 – kenorb 2015-02-23 21:50:35

回答

3

你需要这样的:

var previous = document.getElementById("helloWorld").previousElementSibling; 
var next = document.getElementById("helloWorld").nextElementSibling; 

而且阅读, previousSibling和previousElementSibling之间的区别是,previousSibling返回前一个兄弟节点为元素节点,文本节点或注释节点,而previousElementSibling返回前一个兄弟节点作为元素节点(忽略文本和注释节点)。

+0

非常棒@roshan这是*正是*我正在寻找。我喜欢jQuery,但我不知道所有这些原生JS的可能性。 – 2015-02-24 01:44:38

相关问题