在javascript中显示警报

时间:2015-07-02 05:51:19

标签: javascript jquery

<!DOCTYPE html>
<html>

<head>
    <script type="text/javascript">
    if (document.getElementById("popup")) {
        window.alert("hi");
    }
    </script>
</head>

<body>
    <h1 id="popup">dfdfs</h1>
</body>

</html>

我有一个简单的javascript,当h1 id退出时显示警告,但是我没有得到jquery中的警告message.code也可以提供帮助。

7 个答案:

答案 0 :(得分:3)

<script>标记放在body

的末尾
<!DOCTYPE html>
<html>

<head>
</head>

<body>
    <h1 id="popup">dfdfs</h1>
    <script type="text/javascript">
    if (document.getElementById("popup")) {
        window.alert("hi");
    }
    </script>
</body>

</html>

答案 1 :(得分:2)

因为您在script完全加载之前执行了document,所以找不到元素#popup

  1. 使用DOMContentLoaded
  2. 使用DOMContentLoaded检查DOM是否已完全加载。

    <script type="text/javascript">
    document.addEventListener("DOMContentLoaded", function(event) {
        console.log("DOM fully loaded and parsed");
        if (document.getElementById("popup")) {
            window.alert("hi");
        }
    });
    </script>
    
    1. 使用jQuery ready
    2. 使用jQuery,您可以使用ready方法检查DOM是否准备就绪。

      $(document).ready(function() {
          if ($("#popup").length) {
              window.alert("hi");
          }
      });
      
      1. script移至body
      2. 的末尾

        您可以将script移至body结束

        <!DOCTYPE html>
        <html>
        
        <head>
        </head>
        
        <body>
            <h1 id="popup">dfdfs</h1>
        
            // Move it here
            <script type="text/javascript">
            if (document.getElementById("popup")) {
                window.alert("hi");
            }
            </script>
        </body>
        
        </html>
        

答案 2 :(得分:2)

在元素后写script,使元素存在后运行。见代码:

<!DOCTYPE html>
<html>

<body>
    <h1 id="popup">dfdfs</h1>
    <script type="text/javascript">
    if (document.getElementById("popup")) {
        window.alert("hi");
    }
    </script>
</body>

</html>

同样的Plunkr是:&#34; http://plnkr.co/edit/0fznytLHtKNuZNqFjd5G?p=preview&#34;

答案 3 :(得分:0)

您的脚本位于您尝试检索的{ yourfieldsX: 'value'} 元素之上。因此,它在元素实际存在之前运行。

将脚本移动到页面底部,或将其包装在jQuery ready块中。并考虑将其移至外部文件。

h1

答案 4 :(得分:0)

while (lastCharInLine != firstCharInLine &&
       Character.isWhitespace(getText().charAt(lastCharInLine - 1))) {
    lastCharInLine--;
}

答案 5 :(得分:0)

优良作法是在<script>中使用<body>代码,因为它可以更快地加载来提高性能。

然后使用

<body>
<script>
    $(function() {
        if(document.getElementById("popup")) {
          window.alert("hi");
        }
    });
</script>
</body>

答案 6 :(得分:-1)

下面的代码为您提供了解决方案

$(document).ready(function() {
    if (document.getElementById("popup")) {
        window.alert("hi");
    }
});