我试图使用JQuery将一个块打印到浏览器窗口。我通过函数将块属性变成了JS对象类。在此代码中,我使用的是"use strict";
方法。
HTML(5):
<!DOCTYPE html>
<html><TITLE>Logo Experiment</TITLE>
<head>
<!--adding JQuery library-->
<!--this is a DESKTOP JQuery, so this will not work much on the modern androids-->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<!--setting charset to utf-8 unicode in case symbols are needed-->
<meta charset="utf-8">
</head>
<style>
body {
display: block;
}
.bx { /* the box... */
background-image: url("metal.png");
background-size: cover;
background-color: #333333; /* in case the image fails to load */
border-width: 1.5px;
border-radius: 6px;
border-style: solid;
border-color: #222222;
box-shadow: 2px 2px 2px #111111;
}
</style>
<body>
<script>
//the script below
</script>
</body>
</html>
JS / JQuery:
"use strict";
function Box(width, height, style) {//box object
width = this.width;
height = this.height;
style = this.style;
};
var lbx = new Box(256, 256, "bx"); //"lbx" is "logo box"
$(document).ready(function(){//appending a div to the <body> tag directly
$("<div class='" + lbx.style + "' style='width:" + lbx.width + "px;height:" + lbx.height + "px;'>").appendTo("body");
});
每当我尝试使用JS对象属性使用JQuery追加块时,我最终得到了这个输出:<div class="undefined" style="width:undefinedpx;height:undefinedpx;"></div>
非常感谢任何帮助。
此致,CA1K。
答案 0 :(得分:2)
你在这里倒退了。它应该是this.parameter = paramter
:
function Box(width, height, style) {//box object
width = this.width;
height = this.height;
style = this.style;
};
像这样:
function Box(width, height, style) {//box object
this.width = width;
this.height = height;
this.style = style;
};
第一种方法除了将调用参数设置为undefined之外什么也没做(因为没有定义任何属性)。