相关疑难解决方法(0)

为什么jQuery或像getElementById这样的DOM方法找不到元素?

可能的原因是什么document.getElementById,$("#id")或者任何其他DOM方法/ jQuery选择器没有找到元素?

示例问题包括:

  • jQuery默默地无法绑定事件处理程序
  • jQuery的"吸气"方法(.val(),.html(),.text())返回undefined
  • 返回的标准DOM方法null导致以下任何错误:

    未捕获的TypeError:无法设置null的属性'...'未捕获的TypeError:无法读取null的属性'...'

    最常见的形式是:

    未捕获的TypeError:无法设置null的属性'onclick'

    未捕获的TypeError:无法读取null的属性"addEventListener"

    未捕获的TypeError:无法读取null的属性'style'

javascript jquery dom

446
推荐指数
6
解决办法
11万
查看次数

"getElementsByTagName(...)[0]"未定义?

我有以下代码,它基本上切换了一堆图像.

<!DOCTYPE html>
<html>
    <head>
        <script type="text/javascript">
            var num = 1;
            img = document.getElementsByTagName("img")[0];
            hbutton = document.getElementsByTagName("h1")[0];
            hbutton.onclick = function() {
                num += 1;
                img.src = num + ".jpg";
            }
        </script>
    </head>
    <body>
        <h1>Press Here!</h1>
        <img src = "1.jpg"></img>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

出于某种原因,当我运行它时,没有任何反应,因为我的Firebug控制台显示以下错误.

    hbutton is undefined    
---
    hbutton.onclick = function() {
Run Code Online (Sandbox Code Playgroud)

当我在页面加载后只运行JS时,它工作得非常好!!! 为什么是这样?

html javascript events

7
推荐指数
1
解决办法
3万
查看次数

我不知道为什么这个画布是null

所以我一直在看几个如何用其他图像填充画布的例子,一旦我重新排列代码,他们就会停止工作.我注意到与其他类型的javascript变量相比没有意义的画布上的一些行为,我想知道发生了什么.例如,如果我做这样的事情......

<!DOCTYPE HTML>
<html>
    <head>
        <script>
            var someVar = "This variable has been set";

            function aFunction(){
                alert(someVar);
            };
        </script>
    </head>
    <body onload="aFunction()">
        <canvas id="aCanvas" height="100" width="100"></canvas>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

...我得到一个弹出窗口"这个变量已被设置",这是我所期望的,但如果我做这样的事情......

<!DOCTYPE HTML>
<html>
    <head>
        <script>
            var aCanvas = document.getElementById("aCanvas");
            var context;

            function aFunction(){
                try{
                    context = aCanvas.getContext("2d");
                    alert("it worked");
                }
                catch(err){
                    alert(err);
                }
            };
        </script>
    </head>
    <body onload="aFunction()">
        <canvas id="aCanvas" height="100" width="100"></canvas>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

...我收到一条消息"TypeError:aCanvas is undefined"

然而,如果我尝试在try本身中以相同的方式定义画布......

<!DOCTYPE HTML>
<html>
    <head>
        <script>
            var aCanvas;
            var context;

            function aFunction(){
                try{
                    aCanvas …
Run Code Online (Sandbox Code Playgroud)

javascript html5 canvas

1
推荐指数
1
解决办法
2138
查看次数

标签 统计

javascript ×3

canvas ×1

dom ×1

events ×1

html ×1

html5 ×1

jquery ×1