还有像@davidhaim这样的人非常粗鲁。我相信你不是天生的javascript天才,关键是你不应该在知道代码如何工作之前就关心DOM操作和设计。在知道如何使用循环之前,试图在div中呈现某些内容几乎是荒谬的!你正在学习的silibus显然有问题!有两件
还有像@davidhaim这样的人非常粗鲁。我相信你不是天生的javascript天才,关键是你不应该在知道代码如何工作之前就关心DOM操作和设计。在知道如何使用循环之前,试图在div中呈现某些内容几乎是荒谬的!你正在学习的silibus显然有问题!有两件,javascript,Javascript,还有像@davidhaim这样的人非常粗鲁。我相信你不是天生的javascript天才,关键是你不应该在知道代码如何工作之前就关心DOM操作和设计。在知道如何使用循环之前,试图在div中呈现某些内容几乎是荒谬的!你正在学习的silibus显然有问题!有两件事:document.querySelector(“#artArea”)真的吗文档.getElementById(“artArea”)如果您愿意的话。另外,parseInt的第二个参数不是可选的,应该指定为parseInt($(“#numRow
还有像@davidhaim这样的人非常粗鲁。我相信你不是天生的javascript天才,关键是你不应该在知道代码如何工作之前就关心DOM操作和设计。在知道如何使用循环之前,试图在div中呈现某些内容几乎是荒谬的!你正在学习的silibus显然有问题!有两件事:
document.querySelector(“#artArea”)
真的吗<代码>文档.getElementById(“artArea”)如果您愿意的话。另外,parseInt
的第二个参数不是可选的,应该指定为parseInt($(“#numRows”),10)
。唯一需要的真正检查是ifNaN()
,以确保它确实是一个数字,并可能将char
限制为一个带有$(“#drawChar”).val().charAt(0)的字符
(在第一个点之后以静默方式丢弃所有字符),但是querySelector
有什么问题吗?它在所有现代浏览器中都受支持,而且它需要css选择器这一事实是一个很好的优势。当你已经有了所需的特定工具时,你正在使用一个非常广泛的工具。给定一组工具,您应该尝试使用最适合该作业的工具,在本例中是getElementById
。加分是因为它从一开始就存在,而querySelector
是一个更新的东西。Ok是有意义的。我猜getElementById
也稍微高效一些。既然这家伙在使用jQuery,那么他应该说$(#artArea)
,避开整个问题。哦,好吧。编辑原始文件以反映提议的变更。
<script>
function drawRect(){
var rect = "";
for (var i = 0; i < 10; i +=1){
for (var j = 0; j < 10; j += 1){
rect += "#"
}
rect += "\n"
}
return rect;
}
document.getElementById("artArea").innerHTML = drawRect();
</script>
#artArea {
white-space: pre;
}
var rows= parseInt($("#numRows").val(), 10);
var cols= parseInt($("#numCols").val(), 10);
var char= ("#drawChar").val();
function drawRect(rows,cols,char){
var rect = "";
for (var i = 0; i < rows; i +=1){
for (var j = 0; j < cols; j += 1){
rect += char;
}
rect += "\n"
}
return rect;
}
drawRect(rows,cols,char);
function rectangle(){
var r = "";
//Go about 10x10=100 counts
for (var i = 1; i <= 100; i++){
if (i % 10 === 0) //Insert line break every 10 counts
r += "\n"
else
r += "#";
}
return r;
}
$('#artArea').val() = rectangle();
<html>
<head>
<script>
$(document).ready(...)
</script>
</head>
<body>
...
</body>
</html>
<script type="text/javascript">
function rectangle()
{
/**
*
*/
var Rows = parseInt($("input#numRows").val(), 10);
var Cols = parseInt($("input#numCols").val(), 10);
var Char = $("input#drawChar").val());
var artArea = document.getElementById("artArea")
if (document.getElementById("artTable"))
{
// assuming we made it
artArea.removeChild(document.getElementById("artTable"))
}
var my_table = document.createElement("TABLE");
my_table.id = "artTable"
artArea.appendChild(my_table);
for (var i=0; i < Rows; i++)
{
var this_row = document.createElement("TR")
this_row.id = "r" + i;
for ( var j=0; j < Cols; j++)
{
var this_cell = document.createElement("TD");
this_cell.id = this_row.id + "c" + j;
var my_text = document.createTextNode(Char);
this_cell.appendChild(my_text);
this_row.appendChild(this_cell);
}
my_table.appendChild(this_row);
}
}
$( document ).ready(function() { rectangle(); });
</script>
$(document).ready(
$('#artArea').html("#".repeat(10).concat("\n").repeat(10))
);
#artArea {
text-align: center;
white-space: pre;
}