function clicknumber(){
var getnumber=document.getElementById("test").getElementsByTagName("ul")[0].getElementsByTagName("li")
for( var i=0i<getnumber.lengthi++){
getnumber[i].onclick = function(){
var strtonu = parseInt(this.innerHTML.trim())-1 //这里改了this,数字直接做减一处理,再判断
if(strtonu>0){
this.innerHTML=String(strtonu) //这里改了this
}else{//strtonum为0即隐藏,你原来的代码还会显示0
this.style.display="none" //这里改了this
}
}
}
}
方法一:元素.style.display = "none",设置后元素不占位置方法二:元素.style.visibility = "hidden",设置后元素还占原先的位置
方法三:元素.style.opacity = 0, 完全透明,还占位置
按位“非”运算符 (~)对一个表达式执行按位“非”(取反)。
result = ~ expression
参数
result
任何变量。
expression
任何表达式。
说明
所有一元运算符,如 ~ 运算符,以如下规则来求表达式的值:
如果将它用于 undefined 或 null 表达式,则产生一个运行时错误。
对象被转换成字符串。
如果可能,字符串被转换为数字。如果不能,则产生一个运行时错误。
Boolean 值被当作数字(如果是 false 则为 0,如果是 true 则为 1)。
用该运算符来生成数字。
~ 运算符查看表达式的二进制表示法的值,并执行按位非操作。该操作的结果如下所示:
0101 (expression)
----
1010 (result)
表达式中的任何一位为 1,则在结果中相应位变为 0。表达式中的任何一位为 0,则在结果中相应位变为 1。