2

我需要将各种 html 元素的首字母大写,例如 p、h2、h3、h4。

这个堆栈问题对我有帮助,但是,它只针对 p 标签。我怎么能说定位多个标签?

如:

function change(charm) {
   var string = eval(charm).toLowerCase(), change = "", newstring = string.split("."),   tochange;
   for (var i = 0; i < newstring.length; i++) {
       tochange = newstring[i].trim().charAt(0);
       newstring[i] = newstring[i].replace(tochange, tochange.toUpperCase());
}
   change = newstring.join(" . ");
   return change;
}

var text = change("document.getElementsByTagName('p, h2, h3, h4')[0].innerHTML");
document.getElementsByTagName("p, h2, h3, h4")[0].innerHTML = text;

那不起作用,我在针对各种元素时做错了吗?

4

2 回答 2

5

仅 CSS 的方法:

p:first-letter,
h1:first-letter,
h2:first-letter,
h3:first-letter,
h4:first-letter {
  text-transform: uppercase;
}

:第一个字母是 ie9+

于 2013-09-16T19:33:49.553 回答
1

getElementsByTagName()不接受逗号分隔的列表...它需要一个标签名称或一个星号。

试试querySelectorAll()吧。

于 2013-09-16T19:34:39.700 回答