如何使用JQuery获取属性等于值的所有节点?

uri*_*ium 9 xml jquery

我从AJAX调用中获取了一些XML(毫不奇怪),我想做一些事情,但只在某些节点上做其他事情.例如

<xml>
  <node name="x">
  </node>
  <node name="x">
  </node>
  <node name="y">
  </node>
  <node name="z">
  </node>
</xml>
Run Code Online (Sandbox Code Playgroud)

我希望名称为x的所有节点都转到一个表,我希望所有其他节点转到另一个表.

Mar*_*ers 19

使用属性过滤器,特别是attributeEquals过滤器:

$("node[name='x']");
Run Code Online (Sandbox Code Playgroud)

要选择所有其他节点,请使用attributeNotEquals过滤器:

$("node[name!='x']");
Run Code Online (Sandbox Code Playgroud)

然后,您可以应用jQuery 操作将这些节点移动到其他位置.

请注意XPath样式的选择器在版本1.2中已弃用,并且已在jQuery 1.3中完全删除.

如果您可以影响服务器发送的内容,您可能希望切换到使用JSON,您可能会发现它更容易解析.


Dan*_*ura 7

success: function(xml) {
   $(xml.find('node').each(function(){
    if($(this).attr('name')=='x') {
       //go to one table
    } else {
       //go to another table
    }

   }
}
Run Code Online (Sandbox Code Playgroud)