【发布时间】:2019-02-12 14:37:11
【问题描述】:
jquery 在我的 js 代码之前加载到我的 html 中。 然后在我的puzzle.js 中有:
class Puzzle {
constructor(ID, Name, Status) {
this.ID = "main" + ID;
this.Name = Name;
this.Status = Status;
this.mainDiv = "";
}
generateDiv() {
this.mainDiv = '<div id="' + this.ID + '"/>';
$(this.mainDiv).addClass("puzzle");
}
}
$(document).ready(function() {
var puzzle = new Puzzle(1, "MyPuzzle", 1);
puzzle.generateDiv();
$("#Puzzles").append(puzzle.mainDiv);
})
.puzzle {
width: 200px;
height: 200px;
background: black;
border 1px solid white;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="Puzzles"></div>
并且 div 添加了漂亮的 ID 字段,但类没有。事实上,我对 div "jquery-style" 所做的任何事情都没有做任何事情(但也没有控制台错误)
我注意到在检查器(chrome)中,div 显示为
<div id="main1"></div> == $0
不确定它的含义或是否相关。
我做错了什么???
【问题讨论】:
-
我知道我可以轻松地在 html 代码中添加类,但我假装在我的 html 上执行其他 jquery 操作。事情要复杂得多。我需要一个这样做的平台。
-
chrome 中的
== $0是explained here -
我很确定这永远不会奏效:
$(this.mainDiv).addClass("puzzle");,因为你在课堂上,而 jQuery 不会在那个上下文中运行。 -
哦,你完全错了。 $(".template").clone() 在我的课堂上就像一个魅力。我认为根本错误是必须在 DOM 中才能通过 $( __ ) 找到它们,但我仍在调查。
标签: javascript jquery html