2

p、h2、h3、h4 などのさまざまな html 要素の最初の文字を大文字にする必要があります。

このスタックの質問は役に立ちましたが、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()コンマ区切りのリストは受け入れません... 1 つのタグ名またはアスタリスクのいずれかが必要です。

querySelectorAll()代わりに試してください。

于 2013-09-16T19:34:39.700 に答える