我需要将各种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;
这不起作用,我是否在针对各种元素做错了什么?
答案 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()
将不接受以逗号分隔的列表...它会指定一个标记名称或星号。