我查了一下,但没有找到任何关于双字变量的内容。我正在尝试将按钮值设置为变量,名称,即两个单词。我尝试了两种不同的方法,但最终只打印了第一个名字,而不是两者。
var $div = $("<div></div>");
for (var i = 0; i < people.length; i++) {
$div.append(
"<p>"
+ "<input type='submit' value="+people[i].name+" id="+i+">"
+ "</p>"
+ "<br>"
);
}
$("#left2").append($div);
我也试过这个:
for (var i = 0; i < people.length; i++) {
$("#left2").append(
"<p>"
+ "<input type='submit' value="+people[i].name+" id="+i+">"
+ "</p>"
+ "<br>"
);
}
为什么只打印出名字,而不是两者都打印出来?
编辑:感谢大家的帮助!希望我能接受所有的答案,但你们都得到了一个赞成。我很感谢带你花时间回答这个问题!
答案 0 :(得分:2)
将值放在引号中。试试这个:
"<input type='submit' value='"+people[i].name+"' id='"+i+"'>"
理想情况下,任何属性值都必须在引号中。
答案 1 :(得分:2)
value
应该是单引号
+ "<input type='submit' value='"+people[i].name+"' id="+i+">"
这将产生HTML:
<input type='submit' value='My Name' id=1>
您的代码生成的代码如下:
<input type='submit' value=My Name id=1>
所以value
只是"My"
,还有一些单独的属性Name
为避免将来总是用引号
包装属性值时出现此错误答案 2 :(得分:1)
将您的代码更改为:
for (var i = 0; i < people.length; i++) {
$("#left2").append(
"<p>"
+ "<input type='submit' value='"+people[i].name+"' id="+i+">"
+ "</p>"
+ "<br>"
);
}
这样,单引号将正确指示属性值的开始和结束。
答案 3 :(得分:1)
for (var i = 0; i < people.length; i++) {
$("#left2").append(
"<p>"
+ "<input type='submit' value='"+people[i].name+"' id="+i+">"
+ "</p>"
+ "<br>"
);
}
希望这会有所帮助。 重要的是,该值应该在单个状态内。
"<input type='submit' value='"+people[i].name+"' id="+i+">"