大写各种标签内容元素的首字母

时间:2013-09-16 19:24:19

标签: javascript jquery css

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

This stack question has helped me但是,它只针对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;

这不起作用,我是否在针对各种元素做错了什么?

2 个答案:

答案 0 :(得分:5)

仅限CSS的方法:

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

:first-letter是ie9 +

答案 1 :(得分:1)

getElementsByTagName()将不接受以逗号分隔的列表...它会指定一个标记名称或星号。

请尝试querySelectorAll()