id选择器/类选择器/元素选择器/全选择器

id选择器/类选择器/元素选择器/全选择器,第1张

id选择器:一个用来查找的ID,即元素的id属性

id选择器也是基本的选择器,jQuery内部使用JavaScript函数documentgetElementById()来处理ID的获取。原生语法的支持总是非常高效的,所以在 *** 作DOM的获取上,如果能采用id的话尽然考虑用这个选择器

值得注意:

id是唯一的,每个id值在一个页面中只能使用一次。如果多个元素分配了相同的id,将只匹配该id选择集合的第一个DOM元素。但这种行为不应该发生;有超过一个元素的页面使用相同的id是无效的

类选择器,顾名思义,通过class样式类名来获取节点

描述:

类选择器,相对id选择器来说,效率相对会低一点,但是优势就是可以多选

元素选择器

元素选择器:根据给定(html)标记名称选择所有的元素

描述:

全选择器

抛开jQuery,如果要获取文档中所有的元素,通过documentgetElementsByTagName()中传递""同样可以获取到

不难发现,id、class、tag都可以通过原生的方法获取到对应的节点,但是我们还需要考虑一个兼容性的问题,我这里顺便提及一下,比如:

IE会将注释节点实现为元素,所以在IE中调用getElementsByTagName里面会包含注释节点,这个通常是不应该的

getElementById的参数在IE8及较低的版本不区分大小写

IE7及较低的版本中,表单元素中,如果表单A的name属性名用了另一个元素B的ID名并且A在B之前,那么getElementById会选中A

IE8及较低的版本,浏览器不支持getElementsByClassName

不知道问题指的是什么路径,这里回答一个获得JTree实现的文件树的某一节点文件路径的例子,希望能有帮助。

重写节点类的toString(),在TreeSelectionListener中获取当前节点对象,这时候toString()就是当前路径:

DefaultMutableTreeNode mutableTreeNode=(DefaultMutableTreeNode)getLastSelectedPathComponent();

String chooseUrl=mutableTreeNodetoString();

当然,这时候节点Node类也得自定义,比如这样:

class FileNode{

    public boolean isInit;

    public boolean isSystemRoot;

    public String name;

    public Icon icon;

    public String filePath;

    public FileNode(String name,Icon icon,String filePath,boolean isSystemRoot){

        thisname=name;thisicon=icon;thisfilePath=filePath;thisisSystemRoot=isSystemRoot;

    }

    //重写toString获取当前节点路径

    @Override

    public String toString(){

        return thisfilePath;

    }

}

我用的java

List att = xmlConfiggetList("//permission[@module="609"]/@idEnable");

for(int i=0; i<attsize(); i++)

{

String value = ((Attribute)attget(i))getValue();

}

1、用 childNodes 属性,按顺序取

实现过程:首先创建一个 xml 对象,然后载入 xml 文件,再根据待取节点父节点在 xml 文件中的序号和本身的序号,确定待取节点的位置,最后返回待取节点的值。

//pId 待取节点父节点序号

//cId 待取节点序号

function getXmlNodeValue(pId, cId) {

    var xmlDoc = new ActiveXObject("MicrosoftXMLDOM");

    xmlDocasync = false;

xmlDocload("employeeInfoxml");

var nodes = xmlDocdocumentElementchildNodes[pId]childNodes[cId];return nodeschildNodes[0]text;

}

调用方法:alert(getXmlNodeValue(1, 2));

2、用 for 循环来取

实现过程:首先创建一个 ie 支持的 xml 对象,如果发生异常,是创建一个 FireFox 支持的空 xml 对象并返回空;然后载入 xml 文件,如要发生异常也返回空;最后,通过 for 循环遍历查找与传入的节点值相同的节点,找到后返回属于该节点的属性值。

//nodeValue 待取节点的所属节点值

function getXmlNodeValueFor(nodeValue){    

    var xmlDoc; 

  try { 

    //创建一个 ie 支持的 XML 文档对象 

    xmlDoc = new ActiveXObject("MicrosoftXMLDOM");

  }catch(e){

      try{

      //创建FireFox空的XML文档对象

      xmlDoc=documentimplementationcreateDocument("","",null);

}catch(e){

  alert(emessage);

  return "";

}

}

xmlDocasync = false;

try { 

    xmlDocload("employeeInfoxml");

}catch(e){

    alert(emessage);

    return "";

}

var xd=xmlDocdocumentElementchildNodes;

if(xd==null) 

    return "";

 var tempValue;

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

    if(xd[i]childNodes[0]childNodes[0]nodeValue==nodeValue)        tempValue=xd[i]childNodes[2]childNodes[0]nodeValue;

}

return tempValue;

}

调用方法:alert(getXmlNodeValueFor("王佳琳"));

sql取每个节点的数据的方法:我的数据库中有一列数据类型。

样本值如下所示。

<Responses>

<Response>

<task></task>

</Response>

<Response>

<task></task>

</Response>

<Response>

<task></task>

</Response>

</Responses>

因此,从上面的xml中,我需要提取每个节点,并将其保存为另一个表中的不同行。从上面的示例中,将有3行。

为什么 elasticsearch 获取节点信息失败

早期 es 版本有 split brain 问题,俗称脑裂。ES 采用的是一种 P2P 的 gossip 选举方式,Gossip 算法因为 Cassandra 而名声大噪。

背景:

Gossip 算法, 灵感来自办公室八卦, 只要一个人八卦一下, 在有限的时间内所有人都会知道该八卦的信息,

这种方式也与病毒传播类似, 因为 Gossip 有众多的别名"闲话算法"、"疫情传播算法"、"病毒感染算法"、"谣言传播(Rumor-Mongering)算法"

但 Gossip 并不是一个新东西, 之前的泛洪查找、路由算法都归属于这个范畴, 不同的是 Gossip 给这类算法提供了明确的语义、具体实施方法及收敛性证明

特点:

Gossip 算法又被称为反熵(Anti-Entropy), 熵是物理学上的一个概念, 代表杂乱无章, 而反熵就是在杂乱无章中寻求一致,

这充分说明了 Gossip 的特点:在一个有界网络中, 每个节点都随机地与其他节点通信, 经过一番杂乱无章的通信,

最终所有节点的状态都会达成一致 每个节点可能知道所有其他节点, 也可能仅知道几个邻居节点,

只要这些节可以通过网络连通, 最终他们的状态都是一致的, 当然这也是疫情传播的特点

要注意到的一点是, 即使有的节点因宕机而重启, 有新节点加入, 但经过一段时间后,

这些节点的状态也会与其他节点达成一致, 也就是说, Gossip 天然具有分布式容错的优点

本质:

Gossip 是一个带冗余的容错算法, 更进一步, Gossip 是一个最终一致性算法。

虽然无法保证在某个时刻所有节点状态一致, 但可以保证在”最终“所有节点一致, ”最终“是一个现实中存在, 但理论上无法证明的时间点。

因为 Gossip 不要求节点知道所有其他节点, 因此又具有去中心化的特点, 节点之间完全对等, 不需要任何的中心节点。

实际上 Gossip 可以用于众多能接受“最终一致性”的领域:失败检测、路由同步、Pub/Sub、动态负载均衡。

但 Gossip 的缺点也很明显, 冗余通信会对网路带宽、CPU 资源造成很大的负载, 而这些负载又受限于通信频率, 该频率又影响着算法收敛的速度。

能。js是指html中每个标签看成一个节点,通过js将这些节点获取出来使用JS的document内置对象有自己的属性和方法,在程序中是可以进行获得其中的节点的,节点是指在网页中所有对象和内容都被称为节点,如文档、元素、文本、属性、注释等,节点Node是DOM最基本的单元,并派生出不同类型的节点。

1)一共12个节点类型

2)dom *** 作就是对节点进行 *** 作

3)节点的类型的获取方法notetype

4)ie9以上及chrome safari firefox 会将换行符当成节点

(1)静态获取

(2)返回带有指定ID的元素

var box1=documentgetElementById('box');

(1)根据标签名获取

(2)得到的是个数组

var div1=documentgetElementsByTagName('div')[0];

(1)根据类名获取元素

(2)动态获取

(3)得到的是一个数组

var box=documentgetElementsByClassName('box')[0];

(1)返回符合要求第一个元素

(2)通过css选择器来获取指定标签

(3)静态获取

(1)返回所有匹配元素

(2)根据css选择器来获取所有标签

(3)得到的是一个数组

获取兄弟节点

获取下一个兄弟标签

获取上一个兄弟节点

获取上一个兄弟标签

获取最后一个子节点

获取最后一个子标签

获取所有非标签类型的子节点

获取所有子标签节点

获取父节点

增加节点

var div=documentcreateElement('div');

在父元素的末尾,插入节点

在添加元素前,需要将元素先创建好

divappendChild(div);

修改指定子节点

删除指定子节点

在删除前需要先获取到被删除元素

divremoveChild(box);

删除当前节点

需要先获取到被删除的节点

divremove();

(1)设置ID

divid='box';

(2)设置class

divclassName='box';

(3)设置style

divstylewidth='10px';

(4)设置路径

imgsrc='/';

(5)自定义属性

以上就是关于id选择器/类选择器/元素选择器/全选择器全部的内容,包括:id选择器/类选择器/元素选择器/全选择器、如何获得Jtree中某个节点的路径、java XPath怎么获取节点属性的值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

    保存