我有一个我的网站的注册表单,我正在尝试向用户显示不同的隐藏td作为提示,当他们专注于输入时......
我已经尝试了最近的(),下一个(),兄弟(),hasClass()并且无法让这个东西工作......任何帮助都表示赞赏.这是jsfiddle http://jsfiddle.net/88JPU/1/
<style type="text/css" rel="stylesheet">
.focusField{
border:solid 2px #333;
background:lightyellow;
}
.idleField{
background:#fff;
border: solid 1px #DFDFDF;
}
input.text_field {
-moz-border-radius: 5px 5px 5px 5px;
border: 1px solid #DDDDDD;
font-size: 14px;
margin: 0;
padding: 8px;
width: 200px;
}
input.text_field.with_box {
-moz-border-radius-bottomright: 0;
-moz-border-radius-topright: 0;
}
.col-help {
background:#f7f7f7;
border:1px solid #ccc;
font-size:13px;
font-family:Tahoma, Geneva, sans-serif
}
</style>
<script>
$(function() {
$('.col-help').hide();
$('input[type="text"]').focus(function () {
$(this).removeClass("idleField").addClass("focusField");
$(this).closest('td').hasClass('col-help').show();
});
});
</script>
<table>
<tbody>
<tr>
<td>Full Name:</td>
<td><input type="text" class="text_field name" id="name"/></td>
<td class="col-help name" width="200 >what is your name</td>
<tr>
<td>Password:</td><td><input type="text" class="text_field" id="password"/></td>
<td class="col-help">Type a strong password...</td>
</tr>
</tr>
</tbody>
</table>
Run Code Online (Sandbox Code Playgroud)
试试这个:
$(this).parent().next('td.col-help').show();
Run Code Online (Sandbox Code Playgroud)
你也有错误的嵌套tr标签.
顺便说一句,如果您正在进行一些表单验证,您可能需要检查jquery.validate插件,而不是通过这个手动工作.