javascript怎么获取获取一个节点的所有子节点

javascript怎么获取获取一个节点的所有子节点,第1张

$(function () {

    $("navbar-inverse li")each(function (index) {

        if ($(this)children()text()indexOf("主页") >= 0) {

            $(this)addClass("active");

        }

    });

});

这个是获取ul下的li,然后设置样式

$('#tree')jstree()get_checked(); //获取所有选中的节点ID

$('#tree')jstree()get_checked(true); //获取所有选中的节点对象

selectSingleNode 传回第一个符合样式的节点。

 

  作 用

传回第一个符合样式的节点。

基本语法

objDocumentNode = xmlDocumentNodeselectSingleNode(patternString);

说 明

patternString 为一包含XSL 样式的字符串。此方法会传回第一个符合的节点对象,如果没有符合的节点,则传回null。

范 例

objNode = xmlDocselectSingleNode("EMAIL/BCC");

alert(objNodexml);

=============================================================

selectNodes 方法

 

  作 用

传回所有符合提供样式(pattern)的节点。

基本语法

objDocumentNodeList = xmlDocumentNodeselectNodes(patternString);

说 明

patternString 为一包含XSL 样式的字符串。此方法会传回节点清单对象,包含符合样式的节点。如果没有符合的节点,则传回空的清单列表。

范 例

objNodeList=xmlDocselectNodes("/");

alert(objNodeListitem(0)xml);

希望这个资料有帮助

var list = documentgetElementById('lList')getElementsByTagName('li')

var list_1 = list[0]innerText

consoledir(list) // Array

consolelog(list_1) // "第一行选择文字1"

(1)parentObjfirstChild:如果节点为已知节点 (parentObj)的第一个子节点就可以使用这个方法。这个属性是可以递归使用的,也就是支持 parentObjfirstChildfirstChildfirstChild的形式,如此就可以获得更深层次的节点。

(2)parentObjlastChild:很显然,这个属性是获取已知节点(parentObj)的最后一个子节点。与firstChild一样,它也可以递归使用。 

在使用中,如果我们把二者结合起来,那么将会达到更加令人兴奋的效果,即:parentObjfirstChildlastChildlastChild

(3)parentObjchildNodes:获取已知节点的子节点数组,然后可以通过循环或者索引找到需要的节点。 

注意:经测试发现,在IE7上获取的是直接子节点的数组,而在Firefox20011上获取的是所有子节点即包括子节点的子节点。

(4)parentObjchildren:获取已知节点的直接子节点数组。 

注意:经测试,在IE7上,和childNodes效果一样,而Firefox20011不支持。这也是为什么我要使用和其他方法不同样式的原因。因此不建议使用。

(5)parentObjgetElementsByTagName(tagName): 使用方法不再赘述,它返回已知节点的所有子节点中类型为指定值的子节点数组。例 如:parentObjgetElementsByTagName('A')返回已知的子节点中的所有超链接。

首先 nextSibling 并不是所有浏览器执行后 结果都是一样的!

这是我写的:

<html>

<head>

<meta >

我试过了,有作用的,你要么就委派事件,如果还不可以的话,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>

使用JavaScript获取某个元素的属性值可以使用jQuery中的选择器+attr()方法。

工具原料:编辑器、浏览器

1、实现的思路是先使用选择器通过id获取到这个元素,然后使用attr方法获取某个属性的值,代码如下:

<div id="div1" class="test">

</div>

<script>

consolelog($('#div1')attr('class'));

</script>

2、运行的结果是获取到了class的值test,

//传入参数:需要遍历的对象,需要匹配的id,获取所有的父级节点的Id

        function findIdList(data2, id, children = 'children', level = 0) {

  var arrRes = [];

  let obj = {

      id: 0,

      [children]: data2

  }

  let rev = (data, id, level) => {

    if (!data || !data[children] || !data[children]length) {

      return;

    }

    for (var i = 0; i < data[children]length; i++) {

      let item = data[children][i];

      if (itemid == id) {

        // 将匹配到的结果保存到数组

        arrResunshift({ level, activeId: itemid });

        // 递归它的父级

        rev(obj, dataid, 0);

        break;

      } else if (item[children] && item[children]length > 0) {

        //如果有子集,则把子集作为参数重新执行本方法

        rev(item, id, level + 1);

      }

    }

  };

  rev(obj, id, level);

  return arrRes;

}

let list = [

    {id: 1, children: [

        {id: 11, children: [{id: 12}]}

    ]},

    {id: 2, children: [{id:21, children: [{id: 31}]}]}

]

let b = findIdList(list, 21)

consolelog(b) // [ { level: 0, activeId: 2 }, { level: 1, activeId: 21 } ]

以上就是关于javascript怎么获取获取一个节点的所有子节点全部的内容,包括:javascript怎么获取获取一个节点的所有子节点、jstree 如何获得选中节点的值、JS获取XML节点值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

    保存