精华内容
下载资源
问答
  • 获取节点名称的语法: 元素节点 HTML标签的名称(大写) 属性节点 属性的名称 文本节点 它的值永远是#text 文档节点 它的值永远是#document 获取节点值的语法:nodeObject....

    获得节点类型:nodeObject.nodeType

    获取节点名称的语法:

    元素节点 HTML标签的名称(大写)
    属性节点 属性的名称
    文本节点 它的值永远是#text
    文档节点 它的值永远是#document
    获取节点值的语法:nodeObject.nodeValue
    展开全文
  • /// <summary>... ///根据节点ID和节点类型获取节点 /// </summary> /// <param name="tnParent">指定节点</param> /// <param name="nNodeType">节点图标</param&g...
            /// <summary>
            ///根据节点ID和节点类型获取节点
           /// </summary>
            /// <param name="tnParent">指定节点</param>
           /// <param name="nNodeType">节点图标</param>
           /// <param name="nNodeID">节点ID</param>
           /// <returns></returns>
            public static TreeNode FindNodeByValue(TreeNode tnParent, int nNodeType, int nNodeID)
            {
                if (tnParent == null)
                    return null;
    
                if (CheckIconType(tnParent.ImageKey) == nNodeType
                    && Convert.ToInt32(tnParent.Tag) == nNodeID)
                    return tnParent;
    
                TreeNode tnRet = null;
    
                foreach (TreeNode tn in tnParent.Nodes)
                {
    
                    tnRet = FindNodeByValue(tn, nNodeType, nNodeID);
    
                    if (tnRet != null)
                        break;
    
                }
    
                return tnRet;
            }
        
           /// <summary>
            /// FindNodeByValue方法Demo
           /// </summary>
           /// <param name="treeView">树</param>
            /// <param name="nDevID">节点ID</param>
            /// <param name="nNodeType">节点图标</param>
           /// <returns></returns>
            public TreeNode GetTreeNodeByDevID(TreeView treeView,int nDevID, int nNodeType)
            {
                TreeNode trScreen = new TreeNode();
                foreach (TreeNode tr in treeView.Nodes)
                {
                    trScreen = FindNodeByValue(tr, nNodeType, nDevID);
                    if (trScreen != null)
                    {
                        return trScreen;
                    }
                }
                return null;
            }    

     

    展开全文
  • Qt之QTreeWidget添加节点获取节点

    千次阅读 2020-02-29 20:35:29
    Qt之QTreeWidget添加节点获取节点概述:代码示例:.h.cpp效果图:over:文末一句话: 概述: QTreeWidget 类根据预设的模型提供树形显示控件。 QTreeWidget 使用类似于 QListWidget 类的方式提供一种典型的基于 item...

    概述:

    QTreeWidget 类根据预设的模型提供树形显示控件。
    QTreeWidget 使用类似于 QListWidget 类的方式提供一种典型的基于 item 的树形交互方法类,该类基于QT的“模型/视图”结构,提供了默认的模型来支撑 item 的显示,这些 item 类为 QTreeWidgetItem 类。
    如果不需要灵活的“模型/视图”框架,可以使用QTreeWidget 来创建有层级关系的树形结构。当把标准 item 模型结合 QTreeView 使用时,可以得到更灵活的使用方法,从而把“数据”和“显示”分离开。

    代码示例:

    .h

    #ifndef MYTREEWIDGET_H
    #define MYTREEWIDGET_H
    
    #include <QWidget>
    #include <QDir>
    #include <QDebug>
    #include <QTreeWidgetItem>
    
    namespace Ui {
    class MyTreeWidget;
    }
    
    class MyTreeWidget : public QWidget
    {
        Q_OBJECT
    
    public:
        explicit MyTreeWidget(QWidget *parent = 0);
        ~MyTreeWidget();
    
    private:
        /**
         * @brief initTree1 初始化树
         */
        void initTree1();
        void initTree2();
    
        /**
         * @brief GetNode   获取节点
         */
        void GetNode();
    private:
        Ui::MyTreeWidget *ui;
        QTreeWidgetItem *item;  //根节点(根节点下可以有多个子结点)
        QTreeWidgetItem *itemD; //子节点(子点下可以有多个孙子结点)
        QTreeWidgetItem *itemW; //子节点
    
    };
    
    #endif // MYTREEWIDGET_H
    

    .cpp

    #include "MyTreeWidget.h"
    #include "ui_MyTreeWidget.h"
    
    MyTreeWidget::MyTreeWidget(QWidget *parent) :
        QWidget(parent),
        ui(new Ui::MyTreeWidget)
    {
        ui->setupUi(this);
    
    
    
        item = new QTreeWidgetItem;
        item->setText(0,"Qt.Fantast");
        ui->treeWidget->addTopLevelItem(item);//添加根节点
        initTree1();
        initTree2();
        GetNode();
    }
    
    MyTreeWidget::~MyTreeWidget()
    {
        delete ui;
    }
    
    void MyTreeWidget::initTree1()
    {
        itemW = new QTreeWidgetItem;
        itemW->setText(0,"Qt");
        item->addChild(itemW);//插入在根节点下面
        QString path = QString("D:/QtApp/C++DesignPayyerns/Plant");
        QDir dir(path);
        QStringList list;
        list << "*.cpp" << "*.h";
        QStringList files = dir.entryList(list);
        for(int i=0;i<files.size();i++)
        {
            QTreeWidgetItem *itemWW = new QTreeWidgetItem;
            QString name = files.at(i);
            itemWW->setText(0,name);
            itemW->addChild(itemWW);//插入在根节点下面
        }
    
    }
    
    void MyTreeWidget::initTree2()
    {
        itemD = new QTreeWidgetItem;
        itemD->setText(0,"Ui");
        item->addChild(itemD);//插入在根节点下面
        QString path = QString("D:/QtApp/C++DesignPayyerns/Command");
        QDir dir(path);
        QStringList list;
        list << "*.cpp" << "*.h";
        QStringList files = dir.entryList(list);
        for(int i=0;i<files.size();i++)
        {
            QTreeWidgetItem *itemDD = new QTreeWidgetItem;
            QString name = files.at(i);
            itemDD->setText(0,name);
            itemD->addChild(itemDD);//插入在根节点下面
        }
    
    }
    
    void MyTreeWidget::GetNode()
    {
        int num = ui->treeWidget->topLevelItemCount();  //返回根节点数量
        qDebug() << num;
        int  clolum = ui->treeWidget->columnCount();    //返回列数
        qDebug() << clolum;
        for(int i=0;i< num;i++)//遍历获取根节点文字
        {
            QTreeWidgetItem *item = ui->treeWidget->topLevelItem(i);//获取最高节点
            qDebug()<< item->text(0);
        }
        for(int i=0;i < item->childCount();i++)
        {
            QTreeWidgetItem *child = item->child(i);//获取子节点
            QString text =child->text(0);
            qDebug() << text;// 我 敌 此方法相同于下面两个循环
        }
        for(int i = 0;i < itemW->childCount();i++)
        {
            QTreeWidgetItem *child = itemW->child(i);//获取子节点
            QString text =child->text(0);
            qDebug() << text;
        }
        for(int i = 0;i < itemD->childCount();i++)
        {
            QTreeWidgetItem *child = itemD->child(i);//获取子节点
            QString text =child->text(0);
            qDebug() << text;
        }
    }
    //    QString currDir = QString("%1/LogFile/").arg(QDir::currentPath());
    //    QDir Dir(currDir);                              //查看工作路径是否存在
    //    if(!Dir.exists()){  Dir.mkdir(currDir);}        //如果文件夹不存在则新创建文件夹
    //    Dir.setFilter(QDir::Files);                     //设置过滤器只查看文件
    //    QStringList list = Dir.entryList(QDir::Files);  //获取所有文件
    //    foreach (QFileInfo file, list)                  //遍历只加载.txt到文件列表
    //    {
    //        if(file.fileName().split(".").back() == "txt")
    //        {
    //            ui->logName->addItem(file.fileName()/*.split(".").at(0)*/);
    //        }
    
    

    效果图:

    在这里插入图片描述

    over:

    欢迎大家关注作者在文末评论、点赞、转发以及批评指正!
    如果大家有更好的方法或有问题可以在文末评论一起讨论!
    共同学习!
    共同进步!

    文末一句话:

    人,切莫自以为是,地球离开了谁都会转,古往今来,恃才放肆的人都没有好下场。
    所以,即便再能干,也一定要保持谦虚谨慎,做好自己的事情,是金子总会发光。

    展开全文
  • 遇到的问题是我要通过点击删除按钮删除这一行数据,后端给的接口要传的参数就是设备编号(imei),重点是这个列表本身也是动态的数据,用框架渲染出来的,然后就想到了用dom节点来删除,还算比较简单, 我要获取的...

    今天在做一个项目拿兄弟节点的事,刚开始拿不到,后来网上查了一下,于是 便找到方法了,下面把我的问题写出来,话不多说直接上问题,

    在这里插入图片描述
    遇到的问题是我要通过点击删除按钮删除这一行数据,后端给的接口要传的参数就是设备编号(imei),重点是这个列表本身也是动态的数据,用框架渲染出来的,然后就想到了用dom节点来删除,还算比较简单, 我要获取的就是imei,然后通过ajxa调用接口删除,完美实现,下面是源码:

    <script type="text/javascript">
    	$(function(){
    
    
    function deleteUL(obj){
        // obj.parentNode.parentNode.remove();
    var $imei= $(obj.parentNode.parentNode.children[1]).text() 
    //console.log( $(obj.parentNode.parentNode.children[1]).text() )//这里获取到的就是该行的imei了
    
     $.ajax({
                        url:"**********",
                        type:"post",
                        async:true,
                        //cache:true,
                        data:{
                            //id:menuId
                            "DeviceIMEI" : $imei
                        },
                        success:function(data){
    	                    //console.log(data)
    	                    //console.log($imei)
                           window.location.reload(true);      重新加载
                        }
    }
    		
    var deleteBtns = document.getElementsByClassName('deleteBtn');
    for(var i=0; i<deleteBtns.length; i++){
            //console.log(22);
            deleteBtns[i].onclick = function(){
               // console.log(this);
                deleteUL(this);
            };
        }
    })
      </script>
     
    

    下面就来总结一下关于获取节点的详情:
    一、js获取子节点的方式
    1.通过获取dom方式直接获取子节点
    其中test的父标签id的值,div为标签的名字。getElementsByTagName是一个方法。返回的是一个数组。在访问的时候要按数组的形式访问。

    var a = document.getElementById("test").getElementsByTagName("div");
    

    2.通过childNodes获取子节点
    使用childNodes获取子节点的时候,childNodes返回的是子节点的集合,是一个数组的格式。他会把换行和空格也当成是节点信息。

    var b =document.getElementById("test").childNodes;
    

    为了不显示不必须的换行的空格,我们如果要使用childNodes就必须进行必要的过滤。通过正则表达式式取掉不必要的信息。下面是过滤掉

    //去掉换行的空格
    for(var i=0; i<b.length;i++){
        if(b[i].nodeName == "#text" && !/\s/.test(b.nodeValue)){
            document.getElementById("test").removeChild(b[i]);
        }
    }
    //打印测试
    for(var i=0;i<b.length;i++){
        console.log(i+"---------")
        console.log(b[i]);
    }
    //补充 document.getElementById("test").childElementCount;  可以直接获取长度 同length
    

    4.通过children来获取子节点
    利用children来获取子元素是最方便的,他也会返回出一个数组。对其获取子元素的访问只需按数组的访问形式即可。

    var getFirstChild = document.getElementById("test").children[0];
    

    5.获取第一个子节点
    firstChild来获取第一个子元素,但是在有些情况下我们打印的时候会显示undefined,这是什么情况呢??其实firstChild和childNodes是一样的,在浏览器解析的时候会把他当换行和空格一起解析,其实你获取的是第一个子节点,只是这个子节点是一个换行或者是一个空格而已。那么不要忘记和childNodes一样处理呀。

    var getFirstChild = document.getElementById("test").firstChild;
    

    6.firstElementChild获取第一个子节点
    使用firstElementChild来获取第一个子元素的时候,这就没有firstChild的那种情况了。会获取到父元素第一个子元素的节点 这样就能直接显示出来文本信息了。他并不会匹配换行和空格信息。

    var getFirstChild = document.getElementById("test").firstElementChild;
    

    7.获取最后一个子节点
    lastChild获取最后一个子节点的方式其实和firstChild是类似的。同样的lastElementChild和firstElementChild也是一样的。不再赘余。

     var getLastChildA = document.getElementById("test").lastChild;
     var getLastChildB = document.getElementById("test").lastElementChild;
    

    二、js获取父节点的方式
    1.parentNode获取父节点
    获取的是当前元素的直接父元素。parentNode是w3c的标准。

    var p  = document.getElementById("test").parentNode;
    

    2.parentElement获取父节点
    parentElement和parentNode一样,只是parentElement是ie的标准。

    var p1 = document.getElementById("test").parentElement;
    

    3.offsetParent获取所有父节点
    一看offset我们就知道是偏移量 其实这个是于位置有关的上下级 ,直接能够获取到所有父亲节点, 这个对应的值是body下的所有节点信息。

    var p2 = document.getElementById("test").offsetParent;
    

    三、js获取兄弟节点的方式
    1.通过获取父亲节点再获取子节点来获取兄弟节点

    var brother1 = document.getElementById("test").parentNode.children[1];
    

    2.获取上一个兄弟节点
    在获取前一个兄弟节点的时候可以使用previousSibling和previousElementSibling。他们的区别是previousSibling会匹配字符,包括换行和空格,而不是节点。previousElementSibling则直接匹配节点。

    var brother2 = document.getElementById("test").previousElementSibling;
    var brother3 = document.getElementById("test").previousSibling;
    

    3.获取下一个兄弟节点
    同previousSibling和previousElementSibling,nextSibling和nextElementSibling也是类似的。

    var brother4 = document.getElementById("test").nextElementSibling;
    var brother5 = document.getElementById("test").nextSibling;
    
    展开全文
  • 通过节点的层次关系获取节点对象。 关系: 1,父节点: parentNode:对应一个节点对象。 2,子节点:childNodes:对应一个节点集合。 3,兄弟节点: 上一个兄弟节点:previousSibling 下一个...
  • <span @click="getClickInfo(event)"> </span> getClickInfo: function (e) { let clickDom = e.currentTarget; // currentTarget 获取绑定点击事件的节点 ...
  • jQuery获取节点和子节点文本

    千次阅读 2014-07-20 22:53:20
    获取节点文本$('#id').text()
  • vue中点击节点获取节点的位置

    千次阅读 2019-03-05 17:01:09
    &lt;div @click="posilDiv($event)"&gt;&lt;/div&... var DOM = event.currentTarget;... // 获取节点距离浏览器视口的高度 var top = event.currentTarget.... // 获取节点距离浏览...
  • 获取节点的所有属性 neo4j

    千次阅读 2019-10-16 14:13:58
    获取节点的所有属性 neo4j 其实是很简单的,我们用properties() 函数就可以获取这个节点的所有属性了。 获取节点的所有id号 neo4j 用的是id() 这个函数来获得的。 获取节点的label neo4j 用的是labels()函数 ...
  • JavaScript获取节点——获取属性节点

    千次阅读 2016-11-27 19:37:55
    0.前言  上一章讲了如何获取获取标签(元素)节点,这一节来和大家说一下如何获取属性节点。 我还是用代码来讲解:<!DOCTYPE html> 获取属性节点 <input type="text" id="in" plac
  • Hi小程序小编了解到,微信小程序成为当下热门话题,下面从多个方面来谈谈微信小程序开发教程之获取节点下的小节点。     微信小程序开发教程已经是当下最热门的话题,下面将从多方面来谈谈获取节点下的小节点...
  • 获取节点、父节点、兄弟节点

    千次阅读 2016-03-01 23:20:52
    new document function getNodes(){ var d1 = document.getElementById("d1"); var nodes = d1.childNodes; console.log(nodes);... * 获取 p1 的父节点 */ function getP1Parent(){
  • document获取节点

    千次阅读 2014-08-26 20:06:22
    document节点 ... //获取节点 var node = document.getElementById("divId"); alert(node.nodeName+":"+node.nodeType+":"+node.nodeValue); //获取文本 var text = node.innerHTML; alert(text);
  • 获取获得节点列表

    千次阅读 2018-07-04 12:51:25
    @RequestMapping(value = "getActivitiList" ) public R getActivitiList(String actDefId){ ProcessDefinitionEntity ...活动节点: " + act.getProperty( "name" )+ "," +act.getId()); } return R.ok(); }
  • JSOUP 获取节点方法

    万次阅读 2016-10-11 16:09:05
    虽然JSOUP有API,可是对于一些方法还是不太熟悉,尤其是获取兄弟节点的方法: (1)firstElementSibling():  这个方法是获取节点的第一个兄弟节点。这个方法返回的是Element类型;... 这个方法是获取节点
  • string targetParm = string.Format("STUDENTS/STUDENT[@NO...//生成目标获取节点的参数XmlNode targetNode = xmldocument.SelectSingleNode(targetParm);//获得目标节点 转载于:https://www.cnblogs.com/longlongog...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,152,519
精华内容 461,007
关键字:

怎么获得节点