这个代码问题是隐藏内容之后不会显示了,怎么办?

图片说明

两个问题,第一个在var blnShow=(v)?false:true; 这里v没有其它==, !=之类的计算,(v)这个只要v有值,结果就为true,所以你blnShow值一直都返回为false。
第二个是hidden这个属性的问题,这个属性是html5新加的属性,要求浏览器支持html5,且无论该值是什么,只要标签有这个属性,标签就会隐藏,可以改成removeAttribute("hidden")这个方法,另外,这个属性可以直接用,可以直接写成strArt.hidden=true和strArt.hidden=false来直接控制显示隐藏,

你的三目运算表达式的结果永远都是false

 document.getElementById('art').style.display=v==1?'block':'none'

参数 1 ,2 在javascript中转为bool类型始终是true