2012-12-20 82 views
0

特定元素所以,我沒有得到它的手..我想要做的是在div中添加一個腳本元素,輸入標籤與類'colorpick'。在div中插入元素,並在該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

什麼不行? – Dogbert

+1

爲什麼插入內聯腳本?看起來這個綁定可以通過外部文件完成。 – Mathletics

+0

爲什麼有內置js的document.ready函數?如果您希望在文檔準備就緒時,只需將腳本放在頭部或身體的盡頭即可 –

回答

0

回答你的問題添加輸入字段並初始化ColorPicker中,要使用$.fn.after$.fn.insertAfter

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

前者在匹配的元素後面插入參數,後者在參數後面插入匹配的對象。

.after().insertAfter()方法執行相同的任務。主要區別在於語法 - 特別是內容和目標的放置。使用.after(),該方法之前的選擇器表達式是插入內容之後的容器。另一方面,與.insertAfter()相反,內容位於方法之前,既可以作爲選擇器表達式,也可以作爲即時創建的標記,並插入到目標容器之後。


話雖如此,我也認爲你應該執行的代碼,而不是直接。

(function($){ 
    $(function(){ 
    $('.colorpick').colorpicker(); 
    }); 
})(jQuery); 
1

爲什麼你試圖使用腳本添加腳本?您可以通過之後的jQuery通過調用

$('.colorpick').colorpicker();