JS怎样访问DOM对象的指定节点

JS怎样访问DOM对象的指定节点,第1张

方法很多:

1、documentgetElementById通过id访问节点

2、documentquerySelector通过节点的属性选择器选择节点,结果是一个,这个用的比较多

3、documentquerySelectorAll通过节点的属性选择器选择节点,结果一个列表,可能是多个元素

4、documentgetElementByTagName, documentgetElementByClass这两个比较少用,后一个兼容性好像不是很好

吸使用以下几种方式获取:

1PageX/PageX:鼠标在页面上的位置,从页面左上角开始,即是以页面为参考点,不随滑动条移动而变化

2clientX/clientY:鼠标在页面上可视区域的位置,从浏览器可视区域左上角开始,即是以浏览器滑动条此刻的滑动到的位置为参考点,随滑动条移动 而变化

可是悲剧的是,PageX只有FF特有,IE这个悲剧没有啊T_T,所以大牛们想出了一个办法

PageY=clientY+scrollTop-clientTop;(只讨论Y轴,X轴同理,下同)

3screenX/screenY:鼠标在屏幕上的位置,从屏幕左上角开始(w3c标准)

4offsetX/offsetY:IE特有,鼠标相比较于触发事件的元素的位置,以元素盒子模型的内容区域的左上角为参考点,如果有boder,可能出现负值

5

layerX/layerY:FF特有,鼠标相比较于当前坐标系的位置,即如果触发元素没有设置绝对定位或相对定位,以页面为参考点,如果有,将改变参考坐标系,从触发元素盒子模型的border区域的左上角为参考点也就是当触发元素设置了相对或者绝对定位后,layerX和offsetX就幸福地生活在一起^-^,几乎相等,唯一不同就是一个从border为参考点,一个以内容为参考点

chrome和safari一条龙通杀!完全支持所有属性其中(offsetX和layerX都是以border为参考点)

下面这个是获取相对于屏幕的坐标

documentonmousemove=function(e){e=e e:windowevent;documentwriteln("X:"+escreenX+"Y:"+escreenY);}

<div id="myDiv" class="myClass">

<ul>

<li></li>

<li></li>

</ul>

</div>

如上,可以这样获取:

1documentquerySelectorAll("div li");

2documentquerySelectorAll("#myDiv li");

3documentquerySelectorAll("myClass li");

返回的都是li的nodeList集合,类似数组

js的代码比较长,我写个jquery的:

$(function(){

    $("li")hover(function(){

        $(this)children()show();

    },function(){

        $(this)children()hide();

    });

});

以上就是关于JS怎样访问DOM对象的指定节点全部的内容,包括:JS怎样访问DOM对象的指定节点、js怎么获得鼠标当前坐标、JS怎么获取DIV里面的li节点等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://www.54852.com/web/9702419.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存