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

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

=

anextElementSibling;//获取下一个节点

alert(nextnodeinnerHTML);

var

a

=

parseInt(nextnodeinnerHTML)

a

+=

1;

nextnodeinnerHTML

=

a;

}

function

jian(a)

{

var

previousnode

=

apreviousElementSibling;

var

a

=

parseInt(previousnodeinnerHTML)

a

-=

1;

a

=

a

>

0

a

:

0;

previousnodeinnerHTML

=

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;----三元表达式。

用来获取内容区的大小

PS:返回了元素大小,但没有单位,默认单位是px,如果你强行设置了单位,比如100em

之类,它还是会返回px 的大小。(CSS 获取的话,是照着你设置的样式获取)。

1增加边框,无变化,为200;

2增加外边距,无变化,为200;

3增加滚动条,最终值等于原本大小减去滚动条的大小,为184;

4增加内边距,最终值等于原本大小加上内边距的大小,为220;

PS:返回了元素大小,默认单位是px。如果没有设置任何CSS 的宽和高度,他会得到

计算后的宽度和高度。

1增加边框,最终值会等于原本大小加上边框大小,为220;

2增加内边距,最终值会等于原本大小加上内边距大小,为220;

3增加外边据,无变化;

4增加滚动条,无变化,不会减小;

PS:返回了元素大小,默认单位是px。如果没有设置任何CSS 的宽和高度,它会得到

计算后的宽度和高度。

1增加边框,不同浏览器有不同解释:

a) Firefox 和Opera 浏览器会增加边框的大小,220 x 220

b) IE、Chrome 和Safari 浏览器会忽略边框大小,200 x 200

c) IE 浏览器只显示它本来内容的高度,200 x 18

2增加内边距,最终值会等于原本大小加上内边距大小,220 x 220,IE 为220 x 38

3增加滚动条,最终值会等于原本大小减去滚动条大小,184 x 184,IE 为184 x 18

4增加外边据,无变化。

5增加内容溢出,Firefox、Chrome 和IE 获取实际内容高度,Opera 比前三个浏览

器获取的高度偏小,Safari 比前三个浏览器获取的高度偏大。

先给你看下面两段代码:

<div id="div1">test!</div>

<script>

   consolelog(documentgetElementById("div1"));  //这个能够获得值

</script><script>

   consolelog(documentgetElementById("div1"));  //这个不能获得值!

</script>

<div id="div1">test!</div>

看出原因没有?当js代码是先于html运行时,是获取不到DOM元素的!因为这时候该DOM元素尚未加载到内存,相当于不存在!

要想实现js代码放到任何位置都能获得DOM元素,就要保证代码在页面完全加载完毕后才开始运行,比如:

<script>

   windowonload=function(){  //网页完全加载完毕才会触发这个事件

      consolelog(documentgetElementById("div1")); //这时候就能获得了

   }

</script>

<div id="div1">test!</div>

需要准备的材料分别有:电脑、浏览器、html编辑器。

1、首先,打开html编辑器,新建html文件,例如:indexhtml。

2、在indexhtml中的<script>标签,输入js代码:

var a = '通过id获取:' + $('#test')html();

var b = '通过标签名获取:' + $('div')html();

$('body')append('<br/>' + a);

$('body')append('<br/>' + b);

3、浏览器运行indexhtml页面,此时成功通过id和标签名称获取到了节点并打印了节点内容。

在vue中可以通过给标签加ref属性,就可以在js中利用ref去引用它,从而 *** 作该dom元素。

以下是个例子:

Vue系列产品为3D自然环境的动画制作和渲染提供了一系列的解决方案。Vue系列有很多不同的产品,这是为了满足不同阶层的用户的需要:可以满足专业的制作工作室,同样也能满足3D自由艺术家。

参与项目:

《阿凡达》《2012》《赤壁》《斯巴达克斯》《死不瞑目》《尸城30夜》《功夫熊猫》《异形大战铁血战士》《微光城市》《神奇四侠》《致命拜访》《冒牌天神》《与王一夜》《老友与钱》《加勒比海盗》《ALAUID》《假结婚》《特种部队》《失落的大陆》《终结者》《坠入地狱》《Dragonball Evolution》《女同志吸血鬼杀手》《爱丽丝梦游仙境》《诸神之战》《驯龙记》《狼人》《闰年》《可爱的骨头》《魔法奇幻秀》《美少女特工队》《吉诺密欧与朱丽叶》《纳尼亚传奇》《猫头鹰王国》《歪小子斯科特》《卑鄙的我》《最后的风之子》《怪物史瑞克》《波斯王子》《饥饿游戏》《地心历险记》《雨果》《亚瑟圣诞》《丁丁历险记》《惊天战神》《超级8》《雷神》《大战外星人》《本杰明·巴顿奇事》《马达加斯加》《澳洲乱世情》《空中杀手》《夺宝奇兵》《奇幻精灵事件簿》

以上就是关于javascript获取dom的下一个节点方法全部的内容,包括:javascript获取dom的下一个节点方法、获取DOM节点的大小、javascript 如何获得html DOM节点的属性值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9772493.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存