所以,我没有掌握它。我想要做的是在div中添加一个脚本元素,该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);
但不知怎的,我无法让它发挥作用,这真的让我感到困扰。
答案 0 :(得分:1)
为什么你试图使用脚本添加脚本?您可以通过jquery添加输入字段,然后通过调用
初始化colorpicker$('.colorpick').colorpicker();
答案 1 :(得分:0)
在回答您的问题时,您希望使用$.fn.after
而不是$.fn.insertAfter
。
$("input.colorpick").after(script);
前者在匹配的元素之后插入参数,而后者在参数之后插入匹配的对象。
.after()
和.insertAfter()
方法执行相同的任务。主要区别在于语法特定,内容和目标的放置。对于.after()
,方法前面的选择器表达式是插入内容之后的容器。另一方面,对于.insertAfter()
,内容在方法之前,作为选择器表达式或动态创建的标记,并在目标容器之后插入。
话虽如此,我也认为你应该直接执行代码。
(function($){
$(function(){
$('.colorpick').colorpicker();
});
})(jQuery);