检查类和id是否存在然后更改h1然后在时间限制后重定向页面

时间:2012-03-31 11:05:34

标签: javascript jquery html5

我在使用HTML5页面启动JS / JQ时遇到了一些问题。 基本上我想检查以下ID是否存在以及以下类:

  

ID :page_blog

     

CLASS :页面当前

<section class="page current" id="page_blog" style="z-index: 99; left: -50px;">
...
...
...

如果它们存在,则在2-3秒后重定向,将H1更改为

  

加载...

<h1><button data-target="home" data-target-activation="click" class="back backwards"></button>Loading...</h1>

这是我到目前为止所做的:

<script type="text/JavaScript">
        $(document).ready(function () {
            $('li#blogLink.tile').click(function (e) {
                e.preventDefault(); //will stop the link href to call the blog page

                setTimeout(function () {
                    alert("this has worked");
                    //window.location.href = "http://www.site.co.uk/blog/"; //will redirect to your blog page (an ex: blog.html)
                }, 2000); //will call the function after 2 secs.

            });

        });
</script>

我现在在页面中有以下内容:

<script type="text/javascript" src="http://www.google.com/jsapi"></script>
    <script type="text/javascript">
        google.load("jquery", "1.7");
    </script>



<script type="text/JavaScript">
    $(document).ready(function () {
            if ($(".page.current").length) { // section exists

                $("h1").text("Loading...");
                setTimeout(function () {
                    window.location.href = "http://www.website.co.uk/blog/";
                }, 2000);
        });

</script>

但是检查是否存在类/ id是不是在解雇?

1 个答案:

答案 0 :(得分:1)

试试这个:

$('li#blogLink.tile').click(function (e) {
    e.preventDefault();

    if ($("#page_blog.page.current").length) { // section exists
        $("h1").text("Loading...");
        setTimeout(function() {
            window.location.href = "http://www.site.co.uk/blog/";
        }, 2000);
    }   
});

Example fiddle

另外值得一提的是你的选择器太过分了。应该只有一个标识为#page_blog#blogLink的唯一元素,因此在选择器中包含标记和类是冗余代码。