Javascript Can';t显示板,而使用chessboard.js时ID相同

Javascript Can';t显示板,而使用chessboard.js时ID相同,javascript,chessboard.js,Javascript,Chessboard.js,我想展示chessboardjs.com上的国际象棋。但我不能,因为我遵循文档。而ID是相同的 <html> <head> <!-- UTF-8 (U from Universal Character Set + Transformation Format—8-bit[1]) is a character encoding capable of encoding all possible characters -->

我想展示chessboardjs.com上的国际象棋。但我不能,因为我遵循文档。而ID是相同的

<html>
<head>
    <!--
        UTF-8 (U from Universal Character Set + Transformation Format—8-bit[1]) is a character encoding capable of encoding all possible characters
     -->
    <meta charset="UTF-8">
    <link rel="stylesheet" href="css/chessboard-0.2.0.css"/>
    <script type="text/javascript" src="js/chessboard-0.2.0.js" > </script>
    <script type="text/javascript">
        var board1 = new ChessBoard('board1', 'start');
    </script>
</head>
<body>
    <div id="board1" style="width: 400px"></div>    
</body>

var board1=新棋盘('board1','start');

id是相同的。它是“board1”
。我遵循文档中的规则。。。

但是,我有一个错误。错误为棋盘错误1002:DOM中不存在id为“board1”的元素。

然后,我阅读了关于错误1002的文档。上面写着

棋盘找不到document.getElementById为的元素。请注意,如果将字符串作为第一个参数传递给ChessBoard()构造函数,那么它应该是DOM id的值,而不是CSS选择器(即:“board”,而不是“#board”)


您需要jquery来完成这项工作

<html>
<head>
    <!--
        UTF-8 (U from Universal Character Set + Transformation Format—8-bit[1]) is a character encoding capable of encoding all possible characters
     -->
    <meta charset="UTF-8">
    <link rel="stylesheet" href="css/chessboard-0.3.0.css"/>
    <script type="text/javascript" src="js/chessboard-0.3.0.js" > </script>
    <script src="https://code.jquery.com/jquery-1.10.1.js"></script>
</head>
<body >
    <div id="board1" style="width: 400px"></div>  

</body>
<script type="text/javascript">

var init = function() {

//--- start example JS ---
var board = new ChessBoard('board1');
//--- end example JS ---

}; // end init()
$(document).ready(init);
</script>

</html>

var init=函数(){
//---开始示例JS---
var board=新棋盘(“board1”);
//---结束示例JS---
}; // end init()
$(文件).ready(初始化);

您不需要整个jQuery库来实现这一点,尽管您可能会发现它对其他方面有所帮助。如果您没有预见到使用jQuery进行任何其他操作,那么您所需要的就是setTimeout

setTimeout(function() {
    var board1 = new ChessBoard('board1', 'start');
}, 0);

6年前,我意外地发现了这个把戏,并发布了一个问题。他确实指出,它可能在IE中不起作用,尽管这可能已经改变了。

尝试将带有var board1的脚本放在您的div id=“board1”下面。除了@Molda的注释之外,这是因为您可能需要等待页面加载后才能调用脚本。@Molda我已将带有var board1的脚本放在id的div下面=“董事会1“。但我什么也没展示。没有警报。。只是空白谢谢,兄弟!你真是太棒了,我不会说他需要jQuery只是为了一个
ready
的函数。他还可以将脚本放在文件的底部,或者将
init
函数绑定到window.onload事件。不需要包含整个jQuery.Nock解决方案,最好使用window.onload事件。@可能是Python,但window.onload不同于dom就绪:@GeorgeJempty是的,您是正确的。我很肯定,它会设法解决手头的问题。