2

jQuery を使用して div に値を追加していますが、追加される内容は JavaScript 関数の影響を受けないことに気付きました。

$(".div").append("<input type='text' class='textForm' placement='Value' />");

私のjavascriptコードで設定したのは、クラス「textForm」の属性配置を取り、それを値にすることです。しかし、値が追加されると、JavaScript の影響を受けないことに気付きました。この問題を解決する方法についてのアイデアはありますか?

4

3 に答える 3

4

現在ご利用中の場合

$(".textForm").click(){}

それから今使う

$(document).on("click",".textForm",function(){//Dtuff here})

.on("click")これにより、 がオブジェクトにアタッチされ、存在するすべての要素と、セレクターdocumentに一致する作成されたすべての要素で有効になります。.textForm

于 2012-07-07T14:36:53.287 に答える
3

append 後に機能しないようないくつかの要素にバインドされたイベントがあると思います。このようなもの。

$(function(){
    $(".someClass").click(function(){
       //dome some thing
    });
});

新しく注入された (append /jquery ajax などを介して動的に追加された) DOM 要素で同じ機能を動作させたい場合は、 jquery の使用を検討する必要がありますon。したがって、コードは次のように変更する必要があります

$(function(){
    $(document).on("click",".someClass",function(){
       //dome some thing
    });
});

on現在および将来の要素で機能します

于 2012-07-07T14:37:47.157 に答える
0

配置属性から入力値に値をコピーする理由について少し理解できませんが、フォームフィールドを表示するためのこの提案を提供できます。

$("div").each(function() {
    $(this).append($("<input type='text' class='textForm' placement='Value' />"))
});

クラス名ではなく、タグ名でdivを識別したいとします。この場合、jQueryセレクターは「.div」ではなく「div」である必要があります。また、DOM要素を生成するには、HTMLを$()でラップする必要があります。

于 2012-07-07T14:38:48.733 に答える