2

クリックすると、テーブルの行を太字にしようとしています。どの行をクリックしたかをスクリプトに知らせるにはどうすればよいですか? 私が考えることができる唯一の方法は、以下のように関数を使用することです。

<script>
function bold(x){
    $("#"+x).click(function(e){ 
        $(this).css("font-weight","bold");
        e.stopPropagation(); 
       });
   }
</script>
<table>
<tr id = 1 onclick = bold(this.id)><td>A</td></tr>
<tr id = 2 onclick = bold(this.id)><td>B</td></tr>
<tr id = 3 onclick = bold(this.id)><td>C</td></tr>
<tr id = 4 onclick = bold(this.id)><td>D</td></tr>
<tr id = 5 onclick = bold(this.id)><td>E</td></tr>
<tr id = 6 onclick = bold(this.id)><td>F</td></tr>
</table>

関数を使用せずにそれを行うより良い方法はありますか?

4

5 に答える 5

3

これを試すことができます

$('tr').click(function(e){ 
    $(this).css("font-weight","bold");
        e.stopPropagation(); 
 });

また、IDを引用符で囲んでいます..最初にそれを行います

<tr id = "1" onclick = bold(this.id)><td>A</td></tr>

フィドルをチェック

HTML5 標準によれば、引用符で囲む必要はありません..しかし、そうすることは良い習慣だと思います..

于 2012-10-03T02:09:43.670 に答える
0

あなたはあなたのhtmlを整理する必要があります..

html

<table>
<tr><td>A</td></tr>
<tr><td>B</td></tr>
<tr><td>C</td></tr>
<tr><td>D</td></tr>
<tr><td>E</td></tr>
<tr><td>F</td></tr>
</table>​​​​​​​​​

JavaScript

$('tr').on('click',function(){
   $(this).css("font-weight","bold");
})​​​​​​​​​​​​
于 2012-10-03T02:11:08.827 に答える
0

これを試して

ライブデモを見る

$('table td').on('click', function(){
      $(this).css("font-weight","bold");
});
于 2012-10-03T02:12:44.453 に答える
0

jQuery の on function のドキュメントを読むことをお勧めします。これは、ハンドラーを要素にアタッチするためのよりクリーンな方法を提供します。それを使用して、属性を削除しonclick、JavaScript から直接要素に動作をアタッチできます。あなたの例に続いて:

<script>
  $("tr").on("click", function(e){
    $(this).css("font-weight","bold");
  });
</script>
<table>
  <tr><td>A</td></tr>
  <tr><td>B</td></tr>
  <tr><td>C</td></tr>
  <tr><td>D</td></tr>
  <tr><td>E</td></tr>
  <tr><td>F</td></tr>
</table>

ID やonclickハンドラは必要ないことに注意してください。

于 2012-10-03T02:19:38.277 に答える