首页 > 关于jquery选择器的疑问

关于jquery选择器的疑问

最近在做一个小项目,有个页面需要用JQ来动态生成input标签;生成的时候,我给每个的input标签附上相同的class和不同的id。
问题来了,获取input的value时:如果选择器这样写就获取不到内容,
$('input.change#1').val() ///返回 undefined
但是如果把.change和#1的顺序对调就可以获取到内容
$('input#1.change').val() //就能返回input里面的value
这是什么原因啊?

-----问题补充-----
下面是两个截图


是不是因为前面那个

标签写了id="1"

---相关HTML代码---

<tbody>
  <tr class="club" id="1">
    <td>
      <input name="id[]" class="id" type="checkbox" value="1">
    </td>
    <td class="1 name">
      <div class="col-xs-7">
        <input class="form-control input-sm changeClubName" id="1" value="一号社团">
      </div>
      <button type="button" class="btn btn-primary btn-sm pull-right changeSubmit"
      data-clubid="1">
        确定
      </button>
    </td>
    <td>
      0
    </td>
    <td>
      <a class="changeClub" id="一号社团" href="javascript:void(0);">
        修改
      </a>
      &nbsp;
      <a data-toggle="modal" data-target="#delClub" class="delete" id="1" href="javascript:void(0);">
        删除
      </a>
    </td>
  </tr>
  <tr class="club" id="13">
    <td>
      <input name="id[]" class="id" type="checkbox" value="13">
    </td>
    <td class="13 name">
      <div class="col-xs-7">
        <input class="form-control input-sm changeClubName" id="13" value="13">
      </div>
      <button type="button" class="btn btn-primary btn-sm pull-right changeSubmit"
      data-clubid="13">
        确定
      </button>
    </td>
    <td>
      0
    </td>
    <td>
      <a class="changeClub" id="13" href="javascript:void(0);">
        修改
      </a>
      &nbsp;
      <a data-toggle="modal" data-target="#delClub" class="delete" id="13" href="javascript:void(0);">
        删除
      </a>
    </td>
  </tr>
</tbody>

其中的input是用.html()生成出来的


alert($('input.hhi#1').val());
    }
</script>
</head>

<body onLoad="fun1onload()">
<input type="hidden" value="你好吗" class="hid hid2 hhi" id="1">

为什么我写的都可以呢?我

alert($('input.hid#1').val())
alert($('input#1.hid').val())
alert($('input.hid2#1').val())
alert($('input#1.hid2').val())

都可以出来啊
我用的火狐浏览器。


只需按照Id选择就能满足需求,既然你说不行。那按照你的思路走一边好了。


额,似乎 class 名,还有id 名不推荐用数字开头叭。
在本身错误的使用方法上找原因不好。

把名字规范起来就不会有这个问题了。


重复ID搞出来的问题吧


我只是来默默的支持下我徒弟 @转啊转 的答案的。我把题主的页面代码复制下来然后加载了jQuery 2.0.3之后的效果如图所示:

【热门文章】
【热门文章】