我正在尝试遍历数组,并在单击按钮时将每个项目写入新行。目前,当我点击按钮时没有任何反应。
代码中没有显示错误,哪里出错了?
$(document).ready(function() {
var vehicle = ["G122 IVL", "H151 KEE", "U109 FIJ"];
var cameraOne = function() {
$.each(vehicle, function(index, value) {
$('#c1').html('<p>' + value + '</p>');
});
};
$('#cameraOne').click(function() {
cameraOne();
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div>
<input type="button" id="cameraOne" value="Camera One" />
<div id="c1"></div>
</div>
答案 0 :(得分:4)
当您要追加时,您将使用每个新行覆盖#c1
的内容:
$(document).ready(function() {
var vehicle = ["G122 IVL", "H151 KEE", "U109 FIJ"];
var cameraOne = function() {
$('#c1').empty();
$.each(vehicle, function(index, value) {
// use .text() instead of just writing the value to the <p> tag, so we're safe
// if the value contains <, etc.
$('#c1').append($('<p>').text(value));
});
};
$('#cameraOne').click(function() {
cameraOne();
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div>
<input type="button" id="cameraOne" value="Camera One" />
<div id="c1"></div>
</div>
答案 1 :(得分:2)
试试这个:
$(document).ready(function() {
var vehicle = ["G122 IVL", "H151 KEE", "U109 FIJ"];
var cameraOne = function() {
$.each(vehicle, function(index, value) {
$('#c1').append('<p>' + value + '</p>');
});
};
$('#cameraOne').click(function() {
cameraOne();
});
});
html
会覆盖内容,因此您只获得最后一个值。请改用append
。
答案 2 :(得分:1)
每次找到值时,不应使用导致行覆盖的'html'$('#c1').html('<p>' + value + '</p>');
,而应使用'append'$('#c1').append('<p>' + value + '</p>');
为每个值创建一个新行。< / p>