2012-09-13 41 views
2

我正在嘗試以下一塊JQuery代碼來動態添加元素。JQuery添加元素需要再次添加jquery腳本纔在我之前js

方案: a)如果我在其中包含下面的腳本和jquery.min.js不起作用。 b)如果我在body中添加下面的腳本,並在jquery.min.js中仍然不起作用。 c)如果我在body和jquery.min.js中添加下面的腳本,就在下面的代碼上面,它就可以工作。這是爲什麼?

此外,我需要有jquery.min.js頭部的其他功能的joomla工作。可以在頭部和身體中添加jquery.min.js。

我使用jQuery [email protected]

請幫我瞭解上述情況。

<script type="text/javascript"> 
window.addEvent('domready', function() { 
var count = 0; 
$('p#add_field').click(function(){ 
count += 1; 
$('#container').append(
'<strong>Link #' + count + '</strong><br />' + '<input id="field_' + count + '" name="fields[]' + '" type="text" /><br />'); 
}); 
}); 
</script> 

下面的代碼是動態添加的代碼。

<div id="container"> 
     <p id="add_field"><a href="#"><span>&raquo; Add your favourite links.....</span></a></p> 
    </div> 

回答

3

您是否從某個涉及MooTools的地方獲得了該代碼?在此

jQuery(document).ready(function() { 
    //do stuff 
}) 

鏈接

嘗試包裝,供您參考 http://davidwalsh.name/javascript-domready

那麼其結果可能是:

<script type="text/javascript"> 
    $(function() {//shorthand way of doing document.ready 
     var count = 0; 
     $('p#add_field').click(function(){ 
      count += 1; 
      $('#container').append(
       '<strong>Link #' + count + '</strong><br />' + '<input id="field_' + count + '" name="fields[]' + '" type="text" /><br />'); 
     }); 
    }); 
</script> 
+0

我想開發我的Joomla網站的插件。它既有mootool也有joomla。你建議你爲我工作。謝謝 – user1611248

0

在您的文檔:

<head> 
    <script type="text/javascript" src="jquery-1.7.2.min.js"></script> 
    <script> 
     var count = 0; 
     $(document).ready(function() { 
      $('p#add_field').click(function(){ 
       count += 1; 
       $('#container').append('<strong>Link #' + count + '</strong><br />' + '<input id="field_' + count + '" name="fields[]' + '" type="text" /><br />'); 
      }); 
     }); 
    </script> 
</head> 
1

在實際腳本之前爲jQuery添加包括script標記時,它的工作原理是因爲腳本使用jQuery來執行它的功能。在JavaScript中,您可以按照加載的順序訪問腳本的功能。

0

嘗試以下操作:

$document =& JFactory::getDocument(); 
$document->addScript("jquery-1.8.1.min.js"); 
$js = " $(document).ready(function() { 
    var count = 0; 
    $('p#add_field').click(function(){ 
     count += 1; 
     $('#container').append('<strong>Link #' + count + '</strong><br />' + '<input id="field_' + count + '" name="fields[]' + '" type="text" /><br />'); 
    }); 
});"; 
$document->addScriptDeclaration($js);