簡體   English   中英

如何更改 <td> 使用JavaScript單擊時的背景顏色?

[英]How to change a <td> background color on click using JavaScript?

Java語言的新手,正嘗試直接使用DOM而不是使用jQuery(以下使用jQuery)來完全像下面的http://jsbin.com/ajalu/40 我該怎么做?

HTML:

<!DOCTYPE html>
<html>
<head>
<script class="jsbin" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<meta charset=utf-8 />
<title>JS Bin</title>
<!--[if IE]>
  <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<style>
  article, aside, figure, footer, header, hgroup, 
  menu, nav, section { display: block; }
  .on { background-color:red; color:#ffffff; }
</style>
</head>
<body>
  <table border="1" cellpadding="10">
    <tbody>
      <tr>
        <td>Hello World</td>
        <td>Hello World</td>
      </tr>
      <tr>
        <td>Hello World</td>
        <td>Hello World</td>
      </tr>
      <tr>
        <td>Hello World</td>
        <td>Hello World</td>
      </tr>
    </tbody>
  </table>
</body>
</html>

使用jQuery的JavaScript:

$( function() {
  $('td').click( function() {
    $(this).parents('table').find('td').each( function( index, element ) {
        $(element).removeClass('on');
    } );
    $(this).addClass('on');
  } );
} );

僅使用javascript,不使用jquery

Java腳本

function Change(node){

 var j=document.getElementsByClassName("on");
  for(var i=0;i<j.length;i++){
    j[i].className="";
    }  
  node.className="on";  

    }

的HTML

<table border="1" cellpadding="10">
      <tr >
        <td onclick="Change(this)">Hello World</td>
        <td onclick="Change(this)">Hello World</td>
      </tr>
      <tr>
        <td onclick="Change(this)">Hello World</td>
        <td onclick="Change(this)">Hello World</td>
      </tr>
      <tr>
        <td onclick="Change(this)">Hello World</td>
        <td onclick="Change(this)">Hello World</td>
      </tr>
  </table>

的CSS

.on{

    background-color:red;
}

小提琴:-http: //jsfiddle.net/8SnHq/1/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM