本人js菜鸟,怎样用js获取ul里面的li元素,用js写,不用jq

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了本人js菜鸟,怎样用js获取ul里面的li元素,用js写,不用jq相关的知识,希望对你有一定的参考价值。

<div id="star">
<ol>
<li><img src="images/star1.jpg" /></li>
<li><img src="images/star1.jpg"/></li>
<li><img src="images/star1.jpg"/></li>
<li><img src="images/star1.jpg"/></li>
<li><img src="images/star1.jpg"/></li>
</ol>
<ul>
<li><img src="images/star1.jpg" /></li>
<li><img src="images/star1.jpg"/></li>
<li><img src="images/star1.jpg"/></li>
<li><img src="images/star1.jpg"/></li>
<li><img src="images/star1.jpg"/></li>
</ul>
</div>

参考技术A var dv=document.getElementById("star"); 获取id="star"的div
var ularr=dv.getElementsByTagName("ul"); 获取div下的ul
var liarr=ularr[0].getElementsByTagName("li"); 获取div下的ul下的li
liarr是个数组。

其实最简单方法是给ul一个id=“getli”;
然后var liarr=document.getElementById("getli").getElementsByTagName("li");
liarr是个数组追问

我试了,很好的,谢谢您,原文本我动不了,只能用js控制,

再问您一下,
var liarr=ularr[0].getElementsByTagName("li");

写成这样就不行了为什么
var liarr=ularr.getElementsByTagName("li");

追答

getElementsByTagName里面的Elements有个s,意味着获取的是多个元素,所以用的是ularr[0](即使只有一个,也得用数组方式表示);

本回答被提问者采纳

用JS去设置HTML页面鼠标悬浮时改变背景图片

 

首先将每一个li上面添加一个移入事件onmouseover;在悬浮事件里面设置event事件源

JS样式里首先应该找到页面里的ul

然后在ul里面的所有li

     var ln = bg.querySelectorAll("li");

在移入函数中获取触发事件元素

       var leg = e.target;//获得触发事件元素   target 事件属性可返回事件的目标节点(触发该事件的节点),

在循环里面初始化背景图片

设置鼠标悬浮时背景图片

event事件源触发了鼠标悬浮事件

 

如果在初始化里面定义的背景样式用行内样式去定义,那么在最后更改图片时也应该用行内样式而不是类样式,因为行内样式的优先级高于类样式

事件的要素
一、事件源:
•是指那个元素引发的事件,如:本次事件的事件源是event  用target来获取这次事件元素
二、事件:
•事件是指执行的动作, 如:本次事件是onmouseover()
三、事件驱动程序
•即执行的结果   如:本次最后设置的更改的背景图片

 

以上是关于本人js菜鸟,怎样用js获取ul里面的li元素,用js写,不用jq的主要内容,如果未能解决你的问题,请参考以下文章

如何用js获取ul下li数量的值

问题:有好几个ul,只有其中一个下面有好几个li,用js怎么通过这个li获取其包含它的ul在所有ul中的下标值

js中怎样动态添加一个li

怎样使用js或jquery复制li里的文字?

我在HTML中写了一个<ul><li>标签 ,怎麼把数据库的数据动态动态生成到标签里面??php

Jquery&JS简单选项卡