jQuery div只淡化文本,保留div

时间:2014-06-12 13:00:47

标签: jquery fade

我有一个div,其中显示错误消息。显示错误消息后,我想淡出它但保留它出现的div。我只希望错误消息的文本淡出而不是div和文本。目前,我有这样的代码和div淡出以及文本,我想知道我需要什么改变才能得到我想要的效果:

if ($("#chseFile").val() == "") {
        $("#uploadErrors").text("You must select a file to upload.");
        $("#uploadErrors").show();
        $("#uploadErrors html").fadeOut(3000);
        }

5 个答案:

答案 0 :(得分:1)

  if ($("#chseFile").val() == "") {
    $("#uploadErrors").html("<span class='text'>You must select a file to upload.</span>");
    $("#uploadErrors").show();
    $("#uploadErrors .text").fadeOut(3000);
    }

答案 1 :(得分:1)

在fadeout默认情况下,css set display none,因此你想为父div添加另一个孩子

if ($("#chseFile").val() == "") {

        $("#uploadErrors").append("<span>You must select a file to upload.</span>")
        $("#uploadErrors").show();
        $("#uploadErrors span").fadeOut(3000);
}

答案 2 :(得分:1)

// if uploadErrors div is by default hidden  
if ($("#chseFile").val() == "")  
{  
 $("#uploadErrors").html("<span>You must select a file to upload.</span>"); 
 $("#uploadErrors").show().find('span').fadeOut(3000);
  }

/* if by default not hidden then */

if ($("#chseFile").val() == "") {

        $("#uploadErrors").html("<span>You must select a file to upload.</span>");
        $("#uploadErrors span").fadeOut(3000);

        }

答案 3 :(得分:0)

使用text()属性并在其上使用fadeOut而不是div本身:

if ($("#chseFile").val() == "") {
        $("#uploadErrors").text("You must select a file to upload.");
        $("#uploadErrors").show();
        $("#uploadErrors html").text().fadeOut(3000);
        }

答案 4 :(得分:-2)

你不能只淡出文字。你可以做的是采取另一个div并包装你的错误信息。比你可以淡出内在的div。像这样......

<div> //You don't want to fade out this div
    <div class="error">error message here</div>  // fade out this div
</div>