0

所以,我没有掌握它。我想要做的是在一个 div 中添加一个脚本元素,该元素有一个带有“colorpick”类的输入标签。

<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.afternot $.fn.insertAfter

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

前者在匹配元素之后插入参数,而后者在参数之后插入匹配对象。

.after().insertAfter()方法执行相同的任务。主要区别在于语法——特别是内容和目标的位置。使用.after(),方法前面的选择器表达式是插入内容的容器。.insertAfter()另一方面,内容在方法之前,作为选择器表达式或作为动态创建的标记,它被插入到目标容器之后。


话虽如此,我也认为您应该直接执行代码。

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