$('ul .tab li').attr("style", "display: none");
这项工作适用于所有网络浏览器。但是当我通过我的ipad看到这个。存在错误。经过一些谷歌搜索,我发现某些ipad浏览器不支持attr。然后 我只能使用javascript动态设置我的网站样式。当我使用这个代码时,我得到了一个错误
document.querySelectorAll('ul .tab li').style.display = "none";
document.querySelectorAll('ul .tab li li').style.display = "block";
错误是
Uncaught TypeError: Cannot set property 'display' of undefined
如果有人知道这件事请帮帮我。
答案 0 :(得分:3)
尝试
$('ul .tab li').css("display", "none");
此外,
是lib
分配给ul
元素的类吗?在这种情况下,正确的方法是
$('ul.tab li').css("display", "none");
删除ul
和.tab
更新:
querySelectorAll
会返回Array
。这就是为什么你不能直接使用.style
属性的原因。您必须遍历该数组才能将该样式应用于所选元素。
答案 1 :(得分:0)
尝试使用Jquery css()
$('ul .tab li').css("display", "none");
AND
$('ul .tab li').css("display", "block");
答案 2 :(得分:0)
你可以这样做:
var nodes = document.querySelectorAll('ul .tab li');
for (var i = 0; i < nodes.length; i++) {
nodes[i].style.display = 'block'; //Or none
}
答案 3 :(得分:0)
试试这个纯粹的javascript:
var list=document.getElementsByTagName("UL")[0];
var list1=list.getElementsByClassName('tab');
list1.getElementsByTagName("LI")[0].style.display = "none";
答案 4 :(得分:0)
你可以使用
$('ul .tab li').hide();