我有一个链接和一个具有匹配类的表行.单击链接时,我想更改具有相同类的行的背景颜色.对于每种情况,只有一行具有相同的类.
这是我目前的职能.
<script type="text/javascript">
function check(x) {
elements = document.getElementsByClassName(x);
for (var i = 0; i < elements.length; i++) {
elements[i].bgColor="blue";
}
}
</script>
Run Code Online (Sandbox Code Playgroud)
这是表行脚本的一部分:
<tr class="alt1 12">
<td width="50" height="55">
<img src="iPhone/statusicon/12.png" alt="" id="forum_statusicon_12" border="0"></td>
<td>
<div class="forumtitle">
<a class="forumtitle 12" href="forumdisplay.php?f=12" action="async" onclick="check(this.className.split(' ')[1])">News and Current Events</a></div>
</td>
<td width="25">
<div class="forumarrow"><img src="iPhone/chevron.png" alt="" border="0"></div>
</td>
</tr>
Run Code Online (Sandbox Code Playgroud)
表行有两个类,我需要第二个(数字)是要解决的问题.当前代码给出错误"指定了无效或非法字符串"
dri*_*hev 10
你有几个错误.你用ids混合了类,class实际上也是属性className
<script type="text/javascript">
function check(x) {
elements = document.getElementsByClassName(x);
for (var i = 0; i < elements.length; i++) {
elements[i].style.backgroundColor="blue";
}
}
</script>
<a href="#" class="first" onclick="check(this.className)">change first row</a>
<a href="#" class="second" onclick="check(this.className)">change second</a>
<!-- FIX ( id -> class ) FIX ( class -> className ) -->
<table>
<tr class="first">
<td>test1</td>
</tr>
<tr class="second">
<!--FIX ( id -> class ) -->
<td>test2</td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)
检查这个jsfiddle
您也可以使用 querySelectorAll() 在没有 jQuery 的情况下轻松完成:
<script type="text/javascript">
function check(selector)
{
var elements = document.querySelectorAll(selector);
for (var i = 0; i < elements.length; i++) {
elements[i].style.backgroundColor = "blue";
}
}
</script>
<a href="#" class="first" onclick="check('.' + this.className)">change first row</a>
<a href="#" id="second" onclick="check('#' + this.id)">change second</a>
<table>
<tr class="first">
<td>test1</td>
</tr>
<tr id="second">
<td>test2</td>
</tr>
Run Code Online (Sandbox Code Playgroud)
jQuery 简化了它:
$(".button").click(function(){
var class = $(this).attr("data-class");
var color = $(this).attr("data-color");
$("."+class).css("background-color",color);
});
Run Code Online (Sandbox Code Playgroud)
.button是要应用于按钮的类,data-class为您想要更改其背景颜色的类添加,data-color是您想要将其更改为的颜色。
| 归档时间: |
|
| 查看次数: |
57478 次 |
| 最近记录: |