0

だから、私はそれを手に入れていません..私がやろうとしているのは、クラス「colorpick」の入力タグを持つdiv内にスクリプト要素を追加することです。

<div class="field">
    <input type="text" value="#fefefe" class="colorpick" >
</div>

だから私が達成しようとしているのはこれです:

<div class="field">
    <input type="text" value="#fefefe" class="colorpick" >
    <script type="text/javascript">$( function() { $('.colorpick').colorpicker(); }); </script>
</div>

そして、これが外部ファイルでインラインスクリプトを追加する方法です

(function ($) {
    $(document).ready(function () {
        var code = "$( function() { $('.colorpick').colorpicker(); }); ";
        var script = document.createElement('script');
        script.type = 'text/javascript';
        script.text = code;
        $("input.colorpick").insertAfter(script);
    });
 })(jQuery);

しかし、どういうわけか私はそれを機能させることができず、それは本当に私を悩ませています。

4

2 に答える 2

1

なぜスクリプトを使用してスクリプトを追加しようとしていますか? 入力フィールドをjqueryで追加し、その後呼び出してカラーピッカーを初期化できます

$('.colorpick').colorpicker();
于 2012-12-20T18:31:58.203 に答える
0

あなたの質問に答えて、あなたは使用したく$.fn.afterない$.fn.insertAfter

$("input.colorpick").after(script);

前者は一致した要素の後にパラメーターを挿入し、後者はパラメーターの後に一致したオブジェクトを挿入します。

.after().insertAfter()メソッドは同じタスクを実行します。主な違いは、構文、特にコンテンツとターゲットの配置にあります。を使用.after()すると、メソッドの前にあるセレクター式がコンテナーになり、その後にコンテンツが挿入されます。一方、を使用.insertAfter()すると、コンテンツは、セレクター式またはオンザフライで作成されたマークアップとしてメソッドの前に配置され、ターゲットコンテナーの後に挿入されます。


そうは言っても、代わりにコードを直接実行する必要があると思います。

(function($){
  $(function(){
    $('.colorpick').colorpicker();
  });
})(jQuery);
于 2012-12-20T18:37:39.343 に答える