本文介绍了子节点匹配时获取父元素节点的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是我的代码:

<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script>
var xml;
$.get(
    "code.xml",
    function(data) { xml=data; },
    "html"
);
function get_list(){
  xmlDoc = $.parseXML( xml ),
  $xml = $( xmlDoc ),
  $title = $xml.find('[value="'+$('#select').val()+'"]');
  $nodes = $title.find('*');
  var result='';
  $nodes.each(function(){
    result += $(this).attr('value');
    result += ' ';
  });
  $("#result").html(result);
}
</script>
</head>
<input type="text" id="select">
<input type="button" name="button" value="Search" onclick="get_list()" >
<div id="result">
</div>
</html>

</html>

This is my xml file:

这是我的 xml 文件:



通过这段代码,我得到了子节点值.

我想要一些东西,比如当我在 textbox 中输入任何城市名称:AhemdabadSurat拉杰科特;然后它在我的 xml 文件上的匹配返回我 country nameIndia.

I wanted something, like when i enter in textbox any of city name: Ahemdabad, Surat, Rajkot; then its match on my xml file returns me country name like India.

谢谢!

推荐答案

尝试

var xml;
$.get(
    "code.xml",
    function(data) {
        xml=data;
    },
    "html"
);
function get_list(){
    var xmlDoc = $.parseXML( xml ),
        $xml = $( xmlDoc ),
            $title = $xml.find('[value="'+$('#select').val()+'"]');
    var ctrs = $xml.find('root').children();
    $("#result").html($title.closest(ctrs).attr('value'));
}

演示:Plunker

这篇关于子节点匹配时获取父元素节点的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-12 18:41