-1

新しい行を追加し、テーブルの既存の行をクリックしたときに (onClick) 属性を削除するコードを書きました

<table style="vertical-align:middle;margin:20px;" id="table_insert">
 <tr  id="tra" >
  <td >Word :</td><td onClick="insert_tr()"> <input type="text" id='word_text' ></input></td>
  <td>Definition :</td><td><input type="text" id='def_text' ></input></td>
 </tr>
</table>

これは、新しい行を追加し、前のものから onclick 属性を削除して、新しく追加された行に追加する関数です。

<script type="text/javascript">
function insert_tr(){
     $(this).removeAttr('onClick'); //jQuery inside javascript function
     console.log("text:"+$(this).find('td').attr('onClick') ); 
        $('#table_insert').append('<tr onClick="insert_tr()"><td>Word :</td><td > <input type="text" id="word_text" ></input></td><td>Definition :</td><td><input type="text" id="def_text" ></input></td></tr>');
}
</script>

しかし、それは機能せず、コンソール画面に [text:undefined] と出力されます..どうすれば修正できますか?!!

4

1 に答える 1

1

$(this) -- これはウィンドウ オブジェクトであり、期待する要素ではありません。

this関数に渡す

onClick="insert_tr(this)"

/

function insert_tr(elem){
     $(elem).removeAttr('onClick'); //jQuery inside javascript function
     // Your code here
}
于 2012-11-15T23:32:25.450 に答える