使用javascript更改ul元素的字体大小

使用javascript更改ul元素的字体大小,javascript,css,Javascript,Css,以下是css: #content ul { font-size: 12px; } 我正在尝试: document.getElementById("content ul").style.fontSize = 8px; 但这对我不起作用。有人能建议怎么做吗?两个问题: 样式属性是字符串,因此您需要“8px”而不是8px 按ID获取元素。您正在传入一个复合选择器(并且缺少其中的#)。您必须使用一个ID,然后找到子元素(via),或者使用(第一个匹

以下是css:

#content ul {
               font-size: 12px;
           }
我正在尝试:

document.getElementById("content ul").style.fontSize = 8px;
但这对我不起作用。有人能建议怎么做吗?

两个问题:

  • 样式属性是字符串,因此您需要
    “8px”
    而不是
    8px

  • 按ID获取元素。您正在传入一个复合选择器(并且缺少其中的
    #
    )。您必须使用一个ID,然后找到子元素(via),或者使用(第一个匹配元素)或(所有匹配元素)。(请注意,尽管通常支持良好,但一些较旧的浏览器没有最后两个;)

  • 例如,您可以在支持
    querySelector
    的浏览器上更改第一个匹配元素的字体大小:

    document.querySelector("#content ul").style.fontSize = "8px";
    
    还是全部

    var list = document.querySelectorAll("#content ul");
    var index;
    for (index = 0; index < list.length; ++index) {
        list[index].style.fontSize = "8px";
    }
    
    var list=document.queryselectoral(“#content ul”);
    var指数;
    对于(索引=0;索引
    或在旧浏览器上:

    var content = document.getElementById("content");
    var list = content.getElementsByTagName("ul");
    var index;
    for (index = 0; index < list.length; ++index) {
        list[index].style.fontSize = "8px";
    }
    
    var content=document.getElementById(“content”);
    var list=content.getElementsByTagName(“ul”);
    var指数;
    对于(索引=0;索引
    是元素,而不是id。首先按id获取内容元素。然后获取无序列表中的子节点。最后迭代列表并更改大小。正如TJ所说,你需要传递一个字符串

    var lists = document.getElementById('content').getElementsByTagName('ul');
    for (var i; i < lists.length; i++ ) {
         lists[i].style.fontSize = '8px';
    }
    
    var list=document.getElementById('content').getElementsByTagName('ul');
    for(变量i;i
    您需要正确选择它们。首先,您需要获取包含有问题的
    的元素

    var contentArea = document.getElementById("content");
    
    然后,您需要按标记名获取相应的标记:

    var tags = contentArea.getElementsByTagName("ul");
    
    然后循环浏览它们以设置字体大小:

    for (i=0; i<tags.length, i++)
    {
        tags[i].style.fontSize = "8px"; // Don't forget the " here
    }
    

    for(i=0;i@NoviceMe例如我不明白这个问题。