我有这样的代码:
<!DOCTYPE html>
<html>
<body>
<button onclick="myFunction()">Click me</button>
<table class="demo">
<div>
<a>link1</a>
<p>text</p>
</div>
</table>
<a>link2</a>
<script>
function myFunction() {
var el = document.getElementsByClassName("demo")[0].getElementsByTagName("a");
for (var i = 0; i < el.length; i++) {
el[i].style.color = "red";
}
}
</script>
</body>
</html>
我想只更改table
内的这些链接。是否可以使用js
?怎么做?
答案 0 :(得分:1)
由于您未使用任何表格构造,请将table
更改为div
function myFunction() {
var el = document.getElementsByClassName("demo")[0].getElementsByTagName("a");
for (var i = 0; i < el.length; i++) {
el[i].style.color = "red";
}
}
<button onclick="myFunction()">Click me</button>
<div class="demo">
<div>
<a>link1</a>
<p>text</p>
</div>
</div>
<a>link2</a>
使用标记时呈现的html如下图所示,如果你看一下,div
会在table
答案 1 :(得分:0)
实际上,div可以在td标签内。
<!DOCTYPE html>
<html>
<body>
<button onclick="myFunction()">Click me</button>
<table class="demo">
<tr>
<td>
<div>
<a>link1</a>
<p>text</b>
</div>
</td>
</tr>
</table>
<a>link2</a>
<script>
function myFunction() {
var el = document.getElementsByClassName("demo")[0].getElementsByTagName("a");
for (var i = 0; i < el.length; i++) {
el[i].style.color = "red";
}
}
</script>
</body>
</html>
然后它起作用。 IBM Websphere Portal使用这样的结构。
答案 2 :(得分:0)
您应该使用span标记。
<!DOCTYPE html>
<html>
<body>
<button onclick="myFunction()">Click me</button>
<table class="demo">
<tr>
<td>
<div>
<a><span id="link1">link1</span></a>
<p>text</b>
</div>
</td>
</tr>
</table>
<a>link2</a>
<script>
function myFunction() {
document.getElementById("link1").innerHTML="abcd";
}
</script>
</body>
</html>
按钮单击将使用js更改链接。您可以使用span的id进行任何类型的css更改。 如果这可以解决您的疑问,请致谢。