JS 使用for循环遍历子节点查找元素
这篇文章主要介绍了JS 使用for循环配合数组遍历子节点查找元素
function nextChildNode(node,clazz,tagName){
var count= node.childElementCount;
for(var i=0;i<count;i++){
if(node==undefined || node.children[i]==undefined){
continue;
}
if(clazz){
if(node.children[i].getAttribute('class')==clazz){
return node.children[i];
}
}else{
if(node.children[i].tagName==tagName){
return node.children[i];
}
}
}
return null;
}
function getChildNode(node,classArg,tagNodeArg){
for(var i=0;i<classArg.length;i++){
node=nextChildNode(node,classArg[i]);
}
for(var i=0;i<tagNodeArg.length;i++){
node=nextChildNode(node,null,tagNodeArg[i]);
}
return node;
}
function getItemId(node){
var classNode=['itemInfo','itemDesc'],tagNode=['P','BUTTON'];
node=getChildNode(node,classNode,tagNode);
alert(node.getAttribute('itemid'));
}
#调用函数
getItemId($(".shopItem")[0]);
相关推荐
-
js数组循环遍历数组内所有元素的方法
例,for(){}遍历数组 复制代码 代码如下: <script type="text/javascript"> <!--var arr = new Array(13.5,3,4,5,6);for(var i=0;i<arr.length;i++){ arr[i] = arr[i]/2.0;}alert(arr); //--> </script> 例,for in循环遍历数组 复制代码 代码如下: <html><body>
-
JS遍历页面所有对象属性及实现方法
for...in循环的Javascript示例: <html> <head> <title>一个使用到for...in循环的Javascript示例</title> </head> <body> <script type="text/javascript"> // 创建一个对象 myObject 以及三个属性 sitename, siteurl, sitecontent. var myObject =
-
js 实现获取name 相同的页面元素并循环遍历的方法
实例如下: <input type="hidden" name="blues" value="蓝色浏阳河之最"> <input type="hidden" name="blues" value="蓝色浏阳河之亲"> <input type="hidden" name="blues" value="蓝色浏阳河之
-
js获取元素的标签名实现方法
有时候我们想获取到一个标签的名称,例如:<div>a</div>得到"div".请看下面的例子: 页面上有一个class="a"的标签,可能是input,也可能是普通的div或者是span标签,现在我们要往这个标签加一个值"value1".如果是input则将其value属性设置为value1,div则将其innerHTML设置为value1.如何实现呢-- 如果纯js实现如下: //找到这个标签的代码略 this 代表找
-
JS 使用for循环遍历子节点查找元素
这篇文章主要介绍了JS 使用for循环配合数组遍历子节点查找元素 function nextChildNode(node,clazz,tagName){ var count= node.childElementCount; for(var i=0;i<count;i++){ if(node==undefined || node.children[i]==undefined){ continue; } if(clazz){ if(node.children[i].getAttribute('cla
-
jQuery循环遍历子节点并获取值的方法
本文实例讲述了jQuery循环遍历子节点并获取值的方法.分享给大家供大家参考,具体如下: Html代码部分: <div class="left_tree_ad_btn_container"> <ul> <li class="tree_ad_btn_bg"><img src="/images/insurance/3lianad_small.jpg" /> </li> </ul>
-
js遍历子节点子元素附属性及方法
复制代码 代码如下: // 添加子节点前 删除所有子节点 var usernameEle = document.getElementById("username"); var childs = usernameEle.childNodes; for(var i = childs.length - 1; i >= 0; i--) { usernameEle.removeChild(childs[i]); } var username = document.createTextNod
-
JS使用for循环遍历Table的所有单元格内容
JS遍历Table的所有单元格内容思路是遍历Table的所有Row,遍历Row中的每一列,获取Table中单元格的内容 function GetInfoFromTable(tableid) { var tableInfo = ""; var tableObj = document.getElementById(tableid); for (var i = 0; i < tableObj.rows.length; i++) { //遍历Table的所有Row for (var j
-
vue源码解读子节点优化更新
目录 前言 优化前存在的问题 优化策略分析 源码解析 小结 前言 Vue中更新节点,当新 VNode 和旧 VNode 都是元素节点且都有子节点时,Vue会循环对比新旧 VNode 的子节点数组,然后根据不同情况做不同处理. 虽然这种方法能解决问题,但是当更新子节点特别多时,循环算法的时间复杂度就会很高,所以Vue对此进行了优化. 优化前存在的问题 现在有新的 newChildren 数组和旧的 oldChildren 数组: newChildren = ['a','b','c','d']; o
-
聊聊python中的循环遍历
python之循环遍历 关于循环遍历大家都知道,不外乎for和while,今天我在这写点不一样的循环和遍历.在实践中有时会遇到删除列表中的元素,那么循环遍历列表删除指定元素该怎么做呢? 还是直接上代码看案例吧: import time # 删除下面列表中所有张姓元素,输出的结果应该是['李老大','李老二'] lst = ['张老大', '张老二', '李老大', '张老三', '李老二']*10000 # 直接for循环遍历列表,remove需要删除的元素 def del1(lst): for
-
jquery的父、子、兄弟节点查找,节点的子节点循环方法
jQuery.parent(expr) //找父元素 jQuery.parents(expr) //找到所有祖先元素,不限于父元素 jQuery.children(expr) //查找所有子元素,只会找到直接的孩子节点,不会返回所有子孙 jQuery.contents() //查找下面的所有内容,包括节点和文本. jQuery.prev() //查找上一个兄弟节点,不是所有的兄弟节点 jQue
-
JS实现DOM节点插入操作之子节点与兄弟节点插入操作示例
本文实例讲述了JS实现DOM节点插入操作之子节点与兄弟节点插入操作.分享给大家供大家参考,具体如下: <!doctype html> <html> <head> <meta charset="utf-8"> <title>www.jb51.net JS节点插入</title> <script> function showinsert(){ //添加子节点 var str=document.getElem
-
JS中appendChild追加子节点无效的解决方法
JS中appendChild追加子节点无效 有这么一段代码: let divs = document.getElementsByClassName('test'); let btn = document.createElement('div'); for(let i=0;i<divs.length;i++){ divs[i].appendChild(btn); } 表面上这段代码为每个 class属性为 test的元素添加一个 div子元素. 看起来没有什么问题,但是执行完之后却发现子元素并没有
随机推荐
- XML中显示HTML的小技巧
- 什么是Linux软链接和Linux硬链接
- asp.net 实现自定义Hashtable (.net)
- PHP实现抓取迅雷VIP账号的方法
- Yii使用ajax验证显示错误messagebox的解决方法
- Android开发之文件操作详解
- Shape对象与VML坐标系
- 关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
- jQuery插件HighCharts实现的2D回归直线散点效果示例【附demo源码下载】
- 将Sql Server对象的当前拥有者更改成目标拥有者
- C数据结构之双链表详细示例分析
- jquery拖拽效果完整实例(附demo源码下载)
- JavaScript学习心得之概述
- PHP 读取和修改大文件的某行内容的代码
- 检查域名MX PTR(反向解析)记录的处理方法
- Node.js 8 中的重要新特性
- Android ListView实现简单列表功能
- 基于JavaMail的Java实现简单邮件发送功能
- JAVA实现异步调用实例代码
- c# 应用NPOI获取Excel中的图片,保存至本地的算法
