JQuery不会写入div

时间:2015-10-08 21:40:15

标签: javascript jquery html

我试图简单地在一个循环上输出一行值到div中。为了做到这一点,我有一个循环:

 for(var i = 0; i = M1.length-1; i++) { 
   a = b + c; //for example
   $("#matrix").html(a + " ");
 }

 //in the body
 <body>
   <div id="matrix"></div>
 </body>

问题是它没有写任何东西,只是一个空白的白页......没有内容,没有价值。我试图声明var x=1if(x==1){console.log("dsa");$(#matrix).html("hello");} 条件被触发但你好没有写在那里。有什么想法吗?

正如我告诉过你的那样,我的代码中没有戏剧性,我已经完全评论了其中的所有内容。 if语句触发,这就是为什么我把它放在这里,所以编译器肯定必须读取Jq行。

3 个答案:

答案 0 :(得分:2)

您在选择器周围缺少引号,现在您的for语句出现问题,条件i=M1.length-1永远不会出现,接下来您会遇到问题,因为.html将取代整个内容,您需要.append,如下所示:

var b=1;
var c=2;
for(var i = 0; i<10;i++){ 
  a = b + c; //for example
  $('#matrix').append(a + " ");
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="matrix"></div>

答案 1 :(得分:2)

将jQuery选择器放在引号内,可以是i<=M1.length-1

for(var i = 0; i <= M1.length-1; i++) { 
    a = b + c; //for example
    $("#matrix").append(a + " ");
}

 //in the body
 <body>
   <div id="matrix"></div>
 </body>

答案 2 :(得分:2)

您正尝试在<head>中执行此操作,但看起来您没有在<head>中初始化元素。因此,在document处于ready状态后,您需要放置这些函数。你需要使用:

$(document).ready(function () {
  // Do whatever here.
});

所以在你的代码中,执行以下操作:

$(document).ready(function () {
  for(var i = 0; i = M1.length-1; i++) { 
    a = b + c; //for example
    $("#matrix").html(a + " ");
  }
});

document的{​​{1}}事件中包装所有内容将使您的jQuery代码可以访问DOM中的所有元素。