0

我正在尝试将所有表格标题文本转换为大写但不成功。

<table>
<tr>
<th>product name</th>
<th>product id</th>
....

我的脚本如下:

<script>
var x = document.getElementByTagName('th').innerHTML;
document.write(x.toUpperCase());
</script>

请帮忙....我正在学习 JS,几乎对这个简单的事情感到沮丧。

4

3 回答 3

7

我会考虑为此使用 CSS 而不是 javascript。

th {
  text-transform: uppercase;
}
于 2013-05-24T22:14:12.907 回答
4

如果这只是为了演示,你可能最好只使用 CSS:

th {
  text-transform: uppercase;
}

但是如果你真的需要在 JS 中这样做:

var headers = document.getElementsByTagName("th");
for (var i = 0; i < headers.length; i++) {
  var header = headers[i];
  header.innerHTML = header.innerHTML.toUpperCase();
}

您的代码的问题是该方法getElementByTagName不存在。您必须获取所有 s,循环浏览它们并将其应用于每个。

于 2013-05-24T22:17:27.863 回答
1

jsFiddle Demo

正如 Brandon 指出的那样,你真的应该用 css 来做这件事。但是,如果您想要一个 js 示例来说明如何做到这一点:

var headers = document.getElementsByTagName('th');
for( var i = 0, len = headers.length; i < len; i++ ){
 headers[i].innerHTML = headers[i].innerHTML.toUpperCase();
}
于 2013-05-24T22:14:20.893 回答