4

これを行う方法がわからないようですが、クリックするとテキストボックスを含むページに新しいdivを追加するボタンを作成しています。これは正常に機能しますが、次に実行したいのは、ユーザーがdivをクリックした場合に、divsIDをアラートボックスにポップアップ表示することです。コードは以下のとおりです。

HTML

     <table>
     <td>
     <ul id ="firstColumn">
                    <div id="identifier">
                    </div>
                </ul>
            </td>
            <td>
                <ul id ="secondColumn" width="5%">
                    <li><input type="button" class="formCreationButton" id="textAdd"       value="Single line text" /></li>
     </td>
     <ul>
     </table>

divとテキストボックスを追加するjQueryは次のとおりです。これは正常に機能します。

   $('#textAdd').click(function() {
                var newdiv = document.createElement('div');
                newdiv.innerHTML = "Textbox " + textBoxCounter + " <br><div id='container "+counter+"' class='container'><li><input type='text' value='TEXT' name='textBox " + textBoxCounter +"onclick='display(this)'></li></div></br>";

                document.getElementById("identifier").appendChild(newdiv);
                textBoxCounter++
                counter++;
            });

したがって、ボタンをクリックするたびに、新しいdivとテキストボックスが作成されます。私が今やりたいのは、ユーザーがdivをクリックすると、クリックされたdivのIDを含むアラートボックスがポップアップ表示されることです。明らかに、これが私がやりたいことだけではありませんが、それは私が立ち往生している部分です、以下は私の試みです。

     $(".container > div").click(function(){
                var divID = this.id;
                alert(divID);
                // do other stuff that needs to be done
            });

divをクリックすると、「コンテンツ」というアラートがポップアップ表示されます。「container1」や「container2」などが含まれている必要があります。

とにかく、提供された助けに事前に感謝します、それは大いに感謝されます。jQueryはかなり新しいので、他の人には単純に見えるかもしれないことに問題があります。

4

2 に答える 2

3

.onAPIがトリックを実行します:http://api.jquery.com/on/ demo http://jsfiddle.net/eqDKP/1/

trまた、htmlテーブルにタグがないことにも注意してください。

お役に立てれば:)

コード

   $(".container > div").on('click',function(){
                var divID = this.id;
                alert(divID);
                // do other stuff that needs to be done
            });
于 2012-07-12T11:25:45.117 に答える
2

click新しく作成された要素のイベントを委任する必要があります。

.on(events [、selector] [、data]、handler(eventObject))

$(".container").on('click', "div", function(){
     var divID = this.id;
     alert(divID);
});
于 2012-07-12T11:26:12.230 に答える