jQuery`his`选择器的问题

时间:2014-04-29 06:44:18

标签: jquery

我刚刚开始使用jQuery。我正在构建一个表格,该表格位于由PHP推出的表格行中。

我需要在表格单元格中获取PHP输出的时间。但我无法让jQuery this选择器工作。我能够使用它来获取我提交的表单的属性,但我无法获得任何子元素。我试过了,$("td.time", this).html();$(this).find("td.time").html();甚至是孩子选择器。这三个总是返回未定义的值。为了测试我删除了这个,只是抓住了第一个元素,它返回了div的内容。这是我的一些代码。

表格如下:

<table>
  <form id="[ever changing]" class="users">
    <tr>
        <td class="time">2014-04-28 23:57:03</td>
    <tr>
  </form>
</table>

jQuery试图在这里抓住它:

$(document).on("submit", "form.users", function() {
  event.preventDefault();
  var time = $("td.time", this).html();
});

它总是返回undefined,我做错了什么?

3 个答案:

答案 0 :(得分:3)

form embed td table tdform <form id="[ever changing]" class="users"> <table> <tr> <td class="time">2014-04-28 23:57:03</td> <tr> <input type="submit" value="submit"> </table> </form> $(document).on("submit", "form.users", function(event) { event.preventDefault(); var time = $(this).find("td.time").html(); console.log(time); }); 将被{{1}}

移除

HTML

{{1}}

JS

{{1}}

<强> Demo Link

答案 1 :(得分:1)

您错过了function(event){

中的活动
  $(document).on("submit", "form.users", function(event) {
      event.preventDefault();
      var time = $("td.time", this).html();
    });

答案 2 :(得分:1)

请注意,您尚未添加表格标签。因此,当浏览器呈现html时,它不会添加td标记。相反,如果您检查html源

,它将如下所示
 <form class="users" id="[ever changing]">

     2014-04-28 23:57:03    
</form>