js 获取多层元素中的子元素的问题

js 获取多层元素中的子元素的问题,第1张

使用元素对象的getElementsByTagName('tagName')方法可以获得一个元素对象内所有的指定tagName标签的对象, 其返回值为一个数组, 然后遍历此数组即可 例如:

var ary = piecegetElementsByTagName("span"), i, spanObj;

for (i = 0; i < arylength; i++) {

spanObj = ary[i];

// 进行处理

}

当然, 前提是你的piece对象为一个有效的页面元素对象(如div对象)

<html>

<div id="content">

<ul>

</ul>

<ul>

<li>第一个</li>

<li>第二个</li>

<li>第三个</li>

</ul>

</div>

<script type="text/javascript">

var uls=documentgetElementById("content")getElementsByTagName("ul");

alert(uls[1]getElementsByTagName("li")length);

</script>

</html>

问题都没说清楚,什么叫t始终是titleImg的长度?

看了下你的代码,你是想说,所有div的click的事件里,t的值都是4,而不是0,1,2,3??

如果是这个问题,那么就简单了,

t的作用域问题造成的,

你给4个div绑定了click事件,估计是这么写的:

for(var t=0,i=timglength;t<i;t++){

titleImg[t]addEventListener('click', function(idx,ele){

alert(t);

}, false);

}

这个t是函数外部定义的变量,它的值会被外部修改,在循环执行完后,t的值已经是4了,

所以4个click函数里的t也都是4,你要在循环里定义一个局部变量,如:

for(var t=0,i=timglength;t<i;t++){

var tmpt = t;

titleImg[t]addEventListener('click', function(idx,ele){

alert(tmpt);

}, false);

}

就ok了

整体思路:可以用for循环去遍历<ul>下的所有<li>;然后对比鼠标悬浮时对应的li元素,输出当前的i,也就是对应li的下标。

接下来是对无序列表做一下简单的样式,便于后期测试悬浮效果;给li设置一下宽度以及设置一下边框

整体思路:可以用for循环去遍历<ul>下的所有<li>;然后对比鼠标悬浮时对应的li元素,输出当前的i,也就是对应li的下标。

当前迭代的元素:${oord_code} 当前迭代的元素:${stcurrentord_code} 当前迭代的索引:${stindex} 迭代计数:${stcount} 是否是第一次迭代:${stfirst} 是否是最后次迭代:${stlast}

以上就是关于js 获取多层元素中的子元素的问题全部的内容,包括:js 获取多层元素中的子元素的问题、怎么用js获取id为content元素下的第二个ul元素下的li元素的个数、JS获取点击的数组元素的下标, t 始终是titleImg的长度。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

    保存