<span name="ResultList">
<label><font>A</font>北京</label>
<label><font>B</font>上海</label>
<label><font>C</font>广州</label>
<label><font>D</font>广州</label>
</span>
我想分别从里面取出 北京 上海 广州,用jquery的话应该怎么取出来呢?

解决方案 »

  1.   

    如果没什么影响的话 ,建议你把font方再label外 这样 你获取就可以了
      

  2.   

     var a = $("span[name='ResultList'] label").eq(0).text();
     var a1 = $("span[name='ResultList'] label").eq(1).text();
     var a2 = $("span[name='ResultList'] label").eq(2).text();
     var a3 = $("span[name='ResultList'] label").eq(3).text();
      

  3.   


    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>无标题文档</title>
        <script src="js/jquery.min.js" type="text/javascript"></script>
        <script type="text/javascript">
            function getVal() {
                var arr = [];
                $("span[name='ResultList']>label").each(function() {
                    var val = $(this).html();
                    var tempIdx = val.lastIndexOf('>')+1;
                    val = val.substring(tempIdx);
                    if (!arr.in_array(val)) {
                        arr.push(val);
                    }
                });
                return arr;
            }
            function test() {
                var arr = getVal();
                for(var i=0;i<arr.length;i++){
                    alert(arr[i]);
                }
            }
            Array.prototype.in_array = function(e) {
                for (i = 0; i < this.length && this[i] != e; i++);
                return !(i == this.length);
            }
        </script>
    </head>
    <body>
        <input id="Button1" type="button" value="测试" onclick="test()" />
        <span name="ResultList">
        <label><font>A</font>北京</label>
        <label><font>B</font>上海</label>
        <label><font>C</font>广州</label>
        <label><font>D</font>广州</label>
        </span>
        <div id="divResult" ></div>
    </body>
    </html>
    我已做到了你要求的, 不过还是有
    几点建议:
    1. 尽量用id, 不要用name, id取值明确, 兼容性好, 效率高, 也适合jQuery;
    2. 放弃<font>, 这是一个即将废弃的标签, 
    3. <label><font>A</font>北京</label>改成<label><xx>A</xx><span>北京</span></label>的话, 
    jquery取元素会更方便!
      

  4.   

    同意下 。var label = $("span[name='ResultList']:first label").eq(0);
    var str = label.text().replace(label.children().text(),"");这样也可以 。
      

  5.   


    这样应该不是只取地名吧,我的理解是楼主要获取地名,不包括ABCD。
      

  6.   

    document.getElementsByTagName("label")[0].childNodes[1].nodeValue;
      

  7.   

    这个用正则来取比较好。。只能取出font的。。悲剧。。
      

  8.   

    Array text = new Array();
    $("span[@name='ResultList'] > label").each(function(i){
        text[i] = $(this).text().replace($(this).find("span").text(), '');
    });
    //text数组即是你要的值
      

  9.   

    var text = new Array();
    写成Array了
      

  10.   


    var text = new Array();
    $("span[@name='ResultList'] > label").each(function(i){
        text[i] = $(this).text().replace($(this).find("font").text(), '');
    });
    //text数组即是你要的值