javascript获取dom的下一个节点方法

JavaScript016

javascript获取dom的下一个节点方法,第1张

利用javascript

写一个在页面点击加减按钮实现数字的累加。

简略的html大概如此。看得懂就好不要在意这些细节啊

<input

type="button"

value="+"

onclick="jia(this)"

/>

<label

class="num">0</label>

<input

type="button"

value="-"

onclick="jian(this)"

/>

样子是这样的

javascript

代码如下

<script

type="text/javascript">

function

jia(a)

{

var

nextnode

=

a.nextElementSibling//获取下一个节点

alert(nextnode.innerHTML)

var

a

=

parseInt(nextnode.innerHTML)

a

+=

1

nextnode.innerHTML

=

a

}

function

jian(a)

{

var

previousnode

=

a.previousElementSibling

var

a

=

parseInt(previousnode.innerHTML)

a

-=

1

a

=

a

>

0

?

a

:

0

previousnode.innerHTML

=

a

}

</script>

解释一下:

function

jian(a)和

function

jia(a)就是当前点击的对象了。在onclick事件接的方法里加了this

-

nextElementSibling

获取当前节点的下一个节点(获得下一个兄弟节点)

-

previousElementSibling

获取当前节点的上一个节点

注意:

IE将跳过在节点之间产生的空格文档节点(如:换行字符),而Mozilla不会这样——FF会把诸如空格换行之类的排版元素视作节点读取,因此,在ie

中用nextSibling便可读取到的下一个节点元素,在FF中就需要这样写:nextElementSibling了。

上面的解释的意思的使用

nextElementSibling

和previousElementSibling

获得下一个兄弟节点和上一个兄弟节点,可以去掉换行,空格上面之类的,直接找到我们标签元素。但是下面的两个

nextSibling

previousSibling

也是得下一个兄弟节点和上一个兄弟节点的,只是在IE中好用

--------------------关键字解释

parseInt

转化功能。

a

=

a

>

0

?

a

:

0----三元表达式。

css中选择器有,你多看看,可以通过兄弟节点找到或则nextElement等获得,单词不太会,你找找就是下一个Element和兄弟节点。

甚至可以找到父节点的父节点的父节点(如果有)这种选择器在j-Query中也封装了,撸主不好意思,太久没用忘词了。DOM语言。

这里以jquery为例

思路:

当点击按钮的时候,获取当前按钮所被包含的元素,再查找这个元素里面对应的span节点。

1、html代码

<div>

js如何获取当前<span>对象</span>的下一个span节点,代码在下面。

<input type="button" id="btn" value="获取span节点" />

</div>

2、js代码

<script>

$("#btn").click(function(){

    var spanhtml=$(this).parent().find("span").html()//查找当前按钮的父元素,根据父元素查找包含的span节点

    alert(spanhtml)//弹出获取的内容

})

</script>

运行,将获取span的内容“对象”二字。

因为问题中是要获取当前对象下的节点,所以代码中将input放在div里面。