另外,如果我将脚本放在与html相同的文件中,它最终会一次添加两个项目,而不是三个。
var itemNum = 1;
$("document").ready(function() {
$("#addCL").click(function() {
var itemId = "c" + itemNum;
var itemVal = $("#itemText").val();
$("#clItems").append("
<p>
<input type='checkbox' id='" + itemId + "' />
<label style='font-weight:bold; color:black' for=" + itemId + ">" + itemVal + "</label>
</p>");
itemNum++;
});
$("body").on('change', 'input[type=checkbox]', function() {
if (this.checked) {
$("label[for=" + this.id + "]").css("text-decoration", "line-through").css('font-weight', 'normal').css('color', 'black');
$('itemText').text('');
} else {
$("label[for=" + this.id + "]").css("text-decoration", "none").css('font-weight', 'bold').css('color', "black");
}
});
});
<div id="content">
<h3>Today's To-Do</h3>
<input type="text" id="itemText" />
<input type="button" id="addCL" value="Add Item" />
<div id="clItems"></div>
</div>
答案 0 :(得分:1)
这是工作考试。我建议在JavaScript字符串中仅使用单引号字符以避免混淆,同时使用HTML标记。
var itemNum = 1;
$(function() {
$('#addCL').click(function() {
var itemId = 'c' + itemNum;
var itemVal = $('#itemText').val();
$("#clItems").append('<p><input type="checkbox" id="' + itemId + '" /><label style="font-weight:bold; color:black" for="' + itemId + '">' + itemVal + '</label></p>');
itemNum++;
});
$('body').on('change', 'input[type=checkbox]', function() {
if (this.checked) {
$('label[for=' + this.id + ']').css({
'text-decoration': 'line-through',
'font-weight': 'normal',
'color': 'black'
});
$('itemText').text('');
} else {
$('label[for=' + this.id + ']').css({
'text-decoration': 'none',
'font-weight': 'bold',
'color': 'black'
});
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>
<div id="content">
<h3>Today's To-Do</h3>
<input type="text" id="itemText" />
<input type="button" id="addCL" value="Add Item" />
<div id="clItems"></div>
</div>