$('#city').on('change',function(){
var s=$("#header_right_imgs_ul>li");
for(var i=0;i<s.length;i++){
if(s[i].className!= $(this).val()) {
console.log(s[i].className);
s[i].css({"display":"none"});
}
}
})
以上代码li是通过ajax从后台获取动态渲染到#header_right_imgs_ul里的,#city为一个select 下拉框,每个li都有class 名字有的不一样,我想做在select选中的时候li class名和select选中值不一致的li隐藏,console.log(s[i].className);输出这个可以成功获取到每个Li,但s[i].css({"display":"none"});为什么改不了,应该怎么写 求路过前辈指点 谢谢~~!
来个全jQ的:
.get()
也能拿到原生对象.show()
和.hide()
来做是最好的,因为会自动帮你存住对象之前的display值(新手常会碰到一个display不为block的东西,做了一遍hide之后再用display:block
,然后“咦?为啥样式变了?”),其次的方案是在css里写一个.hide { display: none; }
的类,然后用.addClass()
去做.each()
,如果是数组或者对象的话,用$.each()
就行了.eq()