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 查找遍历子节点元素的更多相关文章

  1. 5月25日-js操作DOM遍历子节点

    一.遍历节点 遍历子节点 children();//获取节点的所有直接子类 遍历同辈节点 next(); prev(); siblings();//所有同辈元素 *find(); 从后代元素中查找匹配 ...

  2. JS之获取子节点

    在JS中获取子节点有以下几种方法: firstElementChild.firstChild.childNodes和children 我们通过一个例子来分析这几种方法的区别(获取div下的p标签) 输 ...

  3. js遍历 子节点 子元素

    Js 节点 子元素 属性 方法 // 添加子节点前 删除所有子节点 var usernameEle = document.getElementById("username"); v ...

  4. js获取HTML DOM节点元素方法总结

    1. 通过顶层document节点获取:    (1)document.getElementById(elementId) :通过ID获得节点,如果页面上含有多个相同id的节点,那么只返回第一个节点. ...

  5. js 递归获取子节点所有父节点,深度遍历获取第一个子树

    前端需求. 递归 深度优先遍历算法 // 查找一个节点的所有父节点 familyTree (arr1, id) { var temp = [] var forFn = function (arr, i ...

  6. JS原生追加子节点

    var fragment = document.createDocumentFragment(); li = document.createElement('li'); li.className = ...

  7. rapidxml遍历子节点例子

    <?xml version="1.0" encoding="utf-8"?> <luaword> <btn> <inf ...

  8. CCocos2Dx 一段遍历子节点的代码

    CCLog("Lein will hide account!CS_FAST_REGISTER_REQ"); <p> CCNode* child1 = (CCNode*) ...

  9. 问题:jQuery中遍历XML文件时候,获取子节点children不支持的情况(已解决)

    问题描述: 今天在写一个基于 jquery 的读取xml文件的程序时候,需要遍历xml的节点. 代码片段如下: function parse_xml_node(parent,result){ // r ...

随机推荐

  1. winform下载网页代码

    1:webClient client=new WebClient(); client.Downloadstring(地址) client.Downloadfile(地址,保存路径) 2:后台线程dow ...

  2. Android周报

    Android周报 原文  http://www.race604.com/android-weekly-25/   文章/教程 使用 Kotlin 开发 Android 应用系列 看起来用 Kotli ...

  3. LeetCode My Solution: Minimum Depth of Binary Tree

    Minimum Depth of Binary Tree Total Accepted: 24760 Total Submissions: 83665My Submissions Given a bi ...

  4. C++ 多态性分析

    编译 - 时间多态性--函数重载 编译后的中间代码(例如GCC产生.o文件.此时还不是汇编语言)函数名字有变化,看以下两个样例. void cc_show(const char*str)     -& ...

  5. C#多线程问题整合

    一.跨进程访问组件 错误:线程间操作无效: 从不是创建控件“XXX”的线程访问它 解决方法: 1:把CheckForIllegalCrossThreadCalls设置为false 这个方法只是不去捕获 ...

  6. 【译】ASP.NET MVC 5 教程 - 11:Details 和 Delete 方法详解

    原文:[译]ASP.NET MVC 5 教程 - 11:Details 和 Delete 方法详解 在教程的这一部分,我们将研究一下自动生成的 Details 和Delete 方法. Details ...

  7. TF卡分区

    http://bbs.gfan.com/android-5176910-1-1.html http://www.miui.com/thread-2302600-1-1.html http://www. ...

  8. VMware vSphere 服务器虚拟化之二十七桌面虚拟化之View中使用Thinapp软件虚拟化

    VMware vSphere 服务器虚拟化之二十七桌面虚拟化之View中使用Thinapp软件虚拟化 VMware ThinApp 应用程序虚拟化软件是无代理解决方案,通过将应用程序隔离并封装为EXE ...

  9. namespace命名空间

    在讨论如何使用命名空间之前,必须了解 PHP 是如何知道要使用哪一个命名空间中的元素的.可以将 PHP 命名空间与文件系统作一个简单的类比.在文件系统中访问一个文件有三种方式: 相对文件名形式如foo ...

  10. Cocos2D &amp; SpriteBuilder Developer Guide

    https://www.makegameswith.us/docs/#!/cocos2d/1.0/overview