1

$("#rowDate1")この jQuery スクリプトでは、動的に ID を取得したいと思います。

<script>
    $(function() {
       $("#rowDate1").click(function() {
           var thetext = $(this).html();
           $(this).html('<input type="text" name="edittext" id="edittext" value="'+thetext+'" />');
       });
    });
</script>

<td>インラインで編集可能なテーブルを作成していますが、ユーザーがidで 's をクリックできるようにしたいだけです。どうすればこれを行うことができ、<td>ID のみをクリック可能にできますか?

編集 - HTML が追加されました:

<td id="rowDate1">09/10/12 - 09/14/12</td>
4

5 に答える 5

4

attribute starts withセレクターを使用できます。

$("td[id^=rowDate]").click(function() {
   // ...     
}) 
于 2012-08-31T22:39:24.777 に答える
3

編集可能な各tdクラスにクラスを割り当ててから、IDでアイテムを調べる代わりに、それぞれにクリックイベントを割り当てます。

HTML:

<table>
    <tr>
        <td class="clickable">1</td>
        <td class="clickable">2</td>
        <td class="clickable">3</td>
        <td class="clickable">4</td>
    </tr>
</table>​​​​​​​​​​​​​​​​​​​​​​​​​

JS:

$('.clickable').click(function(){
    $('.clickable').removeClass('active');
    $(this).addClass('active');
});

デモ </p>

于 2012-08-31T22:41:10.827 に答える
3

2 つの ID に同じ名前を付けることはできないため、クラスを使用することをお勧めします。できるよ

$('#rowData').click(function() {
if($(this).attr("id") === "edittext"){
Do something }

または、クラス用にのみ記述します。

$('.edittext').click(function(){
do soemthing }
于 2012-08-31T22:35:58.637 に答える
3

あなたが使用することができます

  $("td[id]").click(function(){
    //Do something;
  });

これは、id を持つ td に対してのみ呼び出されます

于 2012-08-31T22:36:59.333 に答える
2

セレクター文字列で[id]を使用すると、jQueryを使用してIDを持つ要素のみを選択できます。

例として、 jsFiddleを作成しました。

したがって、コードは次のようになります。

<script>
$(function() {
   $("td[id]").click(function() {
       var thetext = $(this).html();
       $(this).html('<input type="text" name="edittext" id="edittext" value="'+thetext+'" />');
   });
});
</script>
于 2012-08-31T22:40:15.053 に答える