在每个…中添加额外的 if 语句.click()
……</p>
它们是必要的,很好。但是,您可以稍微缩短它们。
….append($("<p class='" + name + " select'>" + name + "</p>"));
该append
方法也接受纯 HTML 字符串,您不需要将它们包装在$()
调用中。
if(i < 5) {
if(i < 5){i++}
}
内在if
条件是多余的。两者之间没有任何变化i
,因此您无需再次检查。
if(i < 5, i > 0){i--}
在这里,您实际上使用了逗号运算符,它只会产生正确的操作数才能在效果中生效。您可能想要一个&&
AND 运算符,但您根本不应该检查i<5
- 它无论如何都不会超出范围,并且您不想复制上边界。
所以使用
var i=0;
$(".add").click(function(event){
if (i < 5) {
var container = $('div');
container.append("<p class='blabla'>blablabla</p>");
i++;
}
});
$(".delete").click(function(event){
if (i > 0) {
$("div p:last-of-type").remove();
i--;
}
});
另一种没有计数器变量的方法i
是每次计算现有元素:
$(".add").click(function(event){
var container = $('div');
if (container.find("p").length < 5) {
container.append("<p class='blabla'>blablabla</p>");
}
});
$(".delete").click(function(event){
$("div p:last-of-type").remove(); // if nothing is found nothing is removed anyway
});