我可以使用getElementsByTagName选择多个标签吗?

bid*_*ump 51 html javascript getelementsbytagname

我正在使用javascript片段,以便我网站的访问者使用以下javascript增加所有段落的字体大小:

function increaseFontSize() {  

    var paragraphs = document.getElementsByTagName('p'); 

    for(i=0;i<paragraphs.length;i++) {   

        if(paragraphs[i].style.fontSize) { 
            var s = parseInt(paragraphs[i].style.fontSize.replace("px",""));
        } else {   
            var s = 14;
        }

        if(s != max) {  
            s += 1; 
        } 
        paragraphs[i].style.fontSize = s+"px"
    } 
} 
Run Code Online (Sandbox Code Playgroud)

如何在此代码中包含"li",以便"p"和"li"是受影响的选定元素?

我还想避免在我的"li"或"ul"中添加一个类或一个id.有没有办法一次选择两个标签?

Dan*_*mms 77

不,您无法通过一次调用选择多个标签getElementsByTagName.您可以使用getElementsByTagName或使用两个查询querySelectorAll.

的jsfiddle

var elems = document.querySelectorAll('p,li')
Run Code Online (Sandbox Code Playgroud)

  • document.querySelectorAll('input,textarea,select') - 非常适合表单 - 谢谢 (9认同)
  • 我建议你改变"不,你不能"改为"还有另一种方法可以做到这一点". (4认同)
  • @barwnikk以下是w3c和whatwg规范,你不能根据它们使用正则表达式http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-1938918D https:// dom.spec.whatwg.org/#dom-element-getelementsbytagname (2认同)
  • @Bitterblue这个问题显然是在询问你是否可以在*单*调用它.令人难以置信的是,你可以通过两个电话来完成它. (2认同)