Jquery在子项可见时更改父级别

时间:2016-01-26 08:54:53

标签: jquery html

与朋友一起填写表格。

当出现一些填充错误,并且弹出输入错误时,这将改变输入错误高度,因此将按下填充表单。

我希望在子attr可见时更改父高度;

这就是我测试但不知何故不起作用。

<script>
$(document).ready(function(){
   if($("#txtFullName").attr("visibility","visible")){
        $("#txtFullName").parent().css("height","30px");
});
</script>

4 个答案:

答案 0 :(得分:1)

obj[str]

答案 1 :(得分:1)

<script>
$(document).ready(function(){
   if($("#txtFullName").attr("visibility","visible")) {
        $("#txtFullName").parent().css("height","30px");
   }
});
</script>

您错过了if条件的结束括号。 visibility也是一个css属性,因此您需要使用$("#txtFullName").css("visibility")

传递.css.attr的第二个参数表示您正在设置该属性的值。 $("#txtFullName").css("visibility")就足够了。

使用可见性时要注意的一点是,可见性设置为隐藏的元素不可见但仍保留其占用的空间。因此,您将看到最初渲染的空白区域。

您还可以使用.is(":visible")方法检查元素是否可见。例如,$("#txtFullName").is(":visible")

答案 2 :(得分:1)

$(document).ready(function(){
   if($("#txtFullName").is(":visible")) {
        $("#txtFullName").parent().css("height","30px");
   }
   else {
        $("#txtFullName").parent().css("height","0px");
   }
});

使用is条件将有助于我的信念。

答案 3 :(得分:1)

由于 visibility 是无效的HTML属性,您应该使用.is(“:visible”)。

但是,在.NET环境中,可见性是使用的属性。和隐藏一样。但这些是.NET自己的属性,而不是HTML,因此jQuery可能无法检测到它们。

.is(“:visible”)方法检查所选元素是否可见。无论它是如何隐藏或显示的。

if($("#txtFullName").is(":visible")){
  $("#txtFullName").parent().css("height","30px");
}