我想将所有 span 标签的第一个字符转换为大写,但出现错误:TypeError: a[0].toUpperCase is not a function。
<div id="test">
<h1>
<span>test</span> <span>test</span> <span>test</span>
</h1>
</div>Run Code Online (Sandbox Code Playgroud)
var x = document.getElementById("test");
function capital(a)
{
return a[0].toUpperCase() + a.slice(1);
}Run Code Online (Sandbox Code Playgroud)
var test=x.getElementsByTagName("span");
var b=capital(test)
console.log(b)Run Code Online (Sandbox Code Playgroud)
getElementsByTagName("span")返回一个HTMLCollection. 所以如果你想使用toUpperCase(),你需要遍历它并调用innerText.
var x = document.getElementsByTagName("span");
console.log(x)
function capital(a){
return a[0].toUpperCase() + a.slice(1);
}
for(el of x) {
el.innerText = capital(el.innerText);
}Run Code Online (Sandbox Code Playgroud)
<div id="test">
<h1>
<span>test</span> <span>test</span> <span>test</span>
</h1>
</div>Run Code Online (Sandbox Code Playgroud)