简体   繁体   English

jQuery addClass不起作用

[英]Jquery addClass Not working

I don't really know what I'm doing wrong. 我真的不知道我在做什么错。 I have tried severally and it's still not working. 我已经尝试了几次,但仍然无法正常工作。 Here is my code. 这是我的代码。

I want <p>content</P> content to disappear after 3seconds 我希望<p>content</P>内容在3秒后消失

$loginmessage = "<br /><p class='alert alert-danger'>Login Fail</p>";
<div id="alertarea" class="text-center"><?php if(isset($loginmessage)) echo $loginmessage ?></div>

$("document").ready(function(){
    function hideWithTime(){
        if($("div#alertarea p").html != ""){
            $(this).addClass('hideit');
        }
    }
    // setTimeout(hideWithTime(), 2000);
    hideWithTime();
});

Its html() - a function not html - a property 它的html() -函数而不是html属性

Cache your element, this doesn't refer to $("div#alertarea > p") 缓存您的元素, this并不涉及$("div#alertarea > p")

$("document").ready(function(){
       var element = $("div#alertarea > p");
        function hideWithTime(){
            if(element.html() != ""){
               element.addClass('hideit');//ps bootstrap has a hide class
            }
        }

         setTimeout(hideWithTime, 2000); 
    });`

If the child of the div is just a p tag, your code finds always no html. 如果div的子代只是p标记,则您的代码始终找不到html。 better do: 最好做:

function hideWithTime(){
    if($("div#alertarea").html() != ""){
            $("div#alertarea>p").addClass('hideit');
        }
    }

谢谢您的支持。

setTimeout (function(){ if($("div#alertarea").html() != ""){ $("div#alertarea>p").addClass('hideit'); } }, 5000);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM