JS 如何通过标签名获取子节点(不用jq)

JS 如何通过标签名获取子节点(不用jq),第1张

var a_arr = documentgetElementById("demo")getElementsByTagName("a");这就是找到所有demo下的a,返回的是数组

(1)如获得id为test标签子元素的个数:

documentgetElementById("test")ChildNodeslength

documentgetElementById('test')childrenlength

(2)上面两种方法皆可来获得子元素的个数,但是要注意各个浏览器的差异性,也得斟酌下差异性

纯js没有,不过可以自己封装。。

function getElementsByClassName(ele,className) {

//获取所有子节点

if(documentall){

var children = eleall;

}else{

var children =

elegetElementsByTagName('');

}

//遍历子节点并检查className属性

var elements

= new Array();

for (var i = 0; i < childrenlength; i++) {

var child

= children[i];

var classNames = childclassNamesplit(' ');

for (var j =

0; j < classNameslength; j++) {

if (classNames[j] == className) {

elements[elementslength] = child;

break;

}

}

}

return

elements;

}

var trees = getElementsByClassName(document,'TreeView');

$fnzTreeinit($("#treeDemo"), setting, zNodes);

zTree = $fnzTreegetZTreeObj("treeDemo");

var nodes=zTreegetNodes();

var nodes_array = zTreetransformToArray (nodes);

for(var i=0;i<nodes_arraylength;i++){

alert(nodes_array[i]name);

}

//下面是api,自己不会看么,zTreeObjgetNodes是所有节点数据都在里面,自己不会取,就不要瞎叫唤,自己可以用火狐看里面的数据是不是都有

zTreeObjgetNodes

概述[ 依赖 jqueryztreecore 核心 js ]

获取 zTree 的全部节点数据

请通过 zTree 对象执行此方法。

Function 参数说明

返回值Array(JSON)

全部节点数据

1、Array 仅仅是根节点的集合(默认情况子节点都处于 children 属性下);

2、如需遍历全部节点需要利用递归,或利用 transformToArray 方法 将数据变成简单的 Array 集合

3、对于异步加载模式下,尚未加载的子节点是无法通过此方法获取的。

function 举例

1 获取全部节点数据

var treeObj = $fnzTreegetZTreeObj("tree");

var nodes = treeObjgetNodes();

我试过了,有作用的,你要么就委派事件,如果还不可以的话,delegate知道吧???

<!DOCTYPE HTML>

<html>

<head>

<meta charset=UTF-8>

<meta name="keywords" content="白菜编辑部">

<title>白菜编辑部</title>

<style type="text/css">

</style>

<script type="text/javascript" src="jquery-180minjs"></script>

<script type="text/javascript">

jQuery (function ($)

    {

    $ ('body')append ('<div class="out"><a></a><h1></h1><div class="btn">btnbtnbtn</div></div>');

    $ ('divout')mouseover (function ()

    {

    $ ('btn')show ();

    })mouseout (function ()

    {

    $ ('btn')hide ();

    });

    });

</script>

</head>

<body>

</body>

</html>

在DhtmlXtree中可以用treegetLeafCount(itemId)获取节点下的子节点数,如果你想计算的是根节点下所有的子节点的话,可以先用上面的计算出根节点下的子节点数然后在有循环判断这些子节点中那个有孩子节点然后在根据treegetLeafCount(itemId)计算此节点下的字节点数,依次循环直至最后。

1documentgetElementById("id名")

通过id属性的值查找,返回满足条件的第一个元素

2documentgetElementsByTagName("标签名")

通过标签名来获取页面中的元素。返回的是多个标签。

并不是真正的数组,但是我们可以想 *** 作数组一样 *** 作他(类数组)

3documentgetElementsByClassName("class名")

通过类名来获取页面中的元素。返回的也是多个标签

4documentgetElementsByName("表单元素name")

通过表单的name属性的值来获取元素

5documentquerySelector("div p a")

匹配指定 CSS 选择器的 第一个元素 。 如果没有找到,返回 null。

6documentquerySelectorAll("div")

获取所有满足条件的元素

7三个特殊节点

8childNodes 所有节点。包括各种节点

9fristChild 获取一个元素的第一个子节点

10lastChild 获取一个元素的最后一个子节点

11parentNode 获取一个元素的父节点

12previousSibling 获取一个元素的上一个兄弟节点

13nextSibling 获取一个元素的下一个节点

14children 只获取子元素

15firstElementChild 获取第一个元素子节点

16lastElementChild 获取最后一个元素子节点

17nextElementsibling 获取下一个元素兄弟节点

18previousElementsibling 获取上一个元素兄弟节点

19parentElement 获取父元素节点

20childElementCount 获取子元素的个数

1documentcreateElement(元素名) 创建一个元素节点

2documentcreateTextNode("这是新创建的一段文本") 创建一个文本节点

3appendChild() 添加元素到容器中

4insertBefore() 在一个节点前插入新节点

5removeChild() 删除子节点

6replaceChild() 替换子节点

7cloneNode() 克隆节点 传入true则复制所有节点

8setAttribute() 给元素设置属性

参数1:属性的名

参数2:属性的值

如果属性不存在,则添加;存在,则修改

9romveAttribute() 删除属性

参数:要删除的属性名

10getAttribute() 获取属性的值

参数:属性名

11访问 元素 id 名

boxid

12访问 元素 class 名

boxclassName

boxclassList 类数组

13获取标签名

boxtagName

boxnodeName

14innerHTML属性

innerHTML 属性设置或返回标签的开始和结束标签之间的 HTML。

值为为文本

15innerText属性

16outerHTML

跟innerHTML相比多包括了一个它自身

1访问行内(内联)样式表

2内部样式表和外部样式表的获取

getComputedStyle()

参数1:表示样式表所属的元素

参数2:如果获取的是伪元素的样式,传入伪元素,正常元素传入null 或不传

兼容性问题

3获取元素实际的宽高

offsetWidth 宽

offsetHeight 高

4获取元素参考父容器的left 和 top

offsetLeft 距离左部

offsetTop 距离上部

offsetParent 查找这个元素的参照父容器

以上就是关于JS 如何通过标签名获取子节点(不用jq)全部的内容,包括:JS 如何通过标签名获取子节点(不用jq)、js如何获取某元素内节点的个数、js 中怎样通过class来取一个节点等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/web/9658220.html

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

发表评论

登录后才能评论

评论列表(0条)

保存