我的输入有问题。
这是我的html / php代码:
$dotation = ($ig["dotation"]) ? $ig["dotation"]: '<input type="text" class="datepickerIG" name="igDota" size="8" value="test"/>';
$bo .= '<tr style="background-color: black;">
<td class="dot">' . $dotation . '</td>
<td class="modif" ref="' . $ig["id"] . '"><a href="#">Modifier</a></td>
这是我的js代码:
var dot_cha = $(this).parent().find('.dot').val();
我的问题是,为什么var dot_cha总是空的? 当我使用.html输入.val时,我得到了正确的答案,那是我的错误?
感谢。
答案 0 :(得分:3)
.val()获取input-element的value属性。 &#34; .DOT&#34;是一个td,并没有值属性。
你想要dot_cha究竟是什么?如果它是你所追求的输入,这将有效。
$(this).parent().find('.datepickerIG').val();
如果是td .html()或.text()的文本会给你这个。
答案 1 :(得分:1)
val
检索input
的值以及具有此属性的其他标记。在您的情况下,.dot
是没有属性value
的表格行的类...所以您必须使用.text()
或.html()
。
答案 2 :(得分:0)
我会说问题是<td>
没有值,它包含HTML。
这就是为什么.html工作而.val不行。
您对具有值的输入使用.val,但<td>
不是输入,而只是HTML标记。
答案 3 :(得分:0)
val()
将与表单元素(例如input
,textarea
等...)一起使用,而不是与元素一起使用。
您需要获取元素的innerHTML
或innerText
。
类似的东西:
var dot_cha = $(this).parent().find('.dot').text();
虽然你需要确保你有一个元素 - 因为你可能会得到一些元素。
答案 4 :(得分:0)
来自docs:
.val()方法主要用于获取表单元素的值 例如input,select和textarea。对于元素,.val()方法返回一个数组 包含每个选定的选项;如果未选择任何选项,则返回 空。
答案 5 :(得分:0)
.val()方法主要用于获取表单元素的值,例如
input
,select
和textarea
。
val
用于表单元素。由于.dot
是使用td
的{{1}}元素(不是表单元素),因此无效。要获取表单元素以外的任何元素的内容,请使用.html
或.text
答案 6 :(得分:0)
.val()方法主要用于获取表单元素的值,例如input,select和textarea。
你是对的.html有效,因为在你的情况下你有一个td,你应该使用
$(".dot").html()
希望有所帮助