【jquery】关于attr的问题
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title></title>
    <script type="text/javascript" src ="js/jquery-1.4.2.js" ></script>
    <script type ="text/javascript" language ="javascript" >
        $(function() {
            $("#btn").click(function() {
                alert($("input").attr("name"));
            });
        });
    </script>
</head>
<body>
    <button id="btn">test</button><br /> 
    <form id="form1" runat="server">
    <fieldset >
    <legend >操作元素</legend>
    First Name:<input type="text" name="firstname" value="Darcy"/><br />
    Last Name:<input type="text" name="lastname" value ="Lu" /><br />
    Your City<input type="text" name="yourcity" value="BeiJing"/><br />
    </fieldset>
    </form>
</body>
</html>预计应该显示:firstname的
为什么显示的是_VIEWSTATE
如何解决?

解决方案 »

  1.   

    $(function() {
        $("#btn").click(function() {
            //alert($("input").attr("name")); $("input")返回的是一个集合,没有name属性
            $("input").each( function() {
                alert($(this).attr('name')); //遍历这个集合,依次输出name属性值
            });
        });
    });
      

  2.   


    不行啊 他会显示四个对话框
    _VIEWSTATE
    firstname
    lastname
    yourcity第一个显示的还是_VIEWSTATE
      

  3.   

    画面生成的时候,一般在会自动生成一些变量,例如:<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDgQC"这样的代码,
    你现在返回的是类型为input的控件里面的第一个控件的名字,正好是‘__VIEWSTATE’
      

  4.   

    我这边显示的是firstname啊,$("input")找到第一个元素,就把name输出来了,LZ你什么情况
      

  5.   

    楼主用的jsp吧。jsp里有自动生成的input
      

  6.   


    我不知道啊 我觉得我代码没错啊...我这就是第一个显示_VIEWSTATE我JQuery1.4.2 vs2008  搜狗 IE 火狐都是_VIEWSTATE
      

  7.   

    我不懂哇...
    我VS2008  jquery1.4.2
      

  8.   

    用.net,一定要定位到firstname的话,可以 给fieldset加一个id,
        <fieldset id="fdset">
        <legend >操作元素</legend>
        First Name:<input type="text" name="firstname" value="Darcy"/><br />
        Last Name:<input type="text" name="lastname" value ="Lu" /><br />
        Your City<input type="text" name="yourcity" value="BeiJing"/><br />
        </fieldset>  用  alert($("#fdSet input").attr("name"));来定位到firstname       
      

  9.   

    应该是 alert($("#fdset input").attr("name")) ,id区分大小写
      

  10.   

    $("#btn").click(function() {
    var sss=$('input').eq(1).attr('name');
    alert(sss);
    }
      

  11.   

    _VIEWSTATE貌似是.net的但看lz的代码怎么看怎么是原生的html,jquery选择器得到的是集合,但按照这种写法会弹出集合中第一个元素的属性,问题比较奇怪,感觉LZ有什么信息没提供出来