我刚刚开始使用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,我做错了什么?
答案 0 :(得分:3)
在form
embed
td
table
td
,form
<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>