我正在尝试使用以下JQuery代码来动态添加元素。
方案: a)如果我包含以下脚本并且jquery.min.js在其中不起作用。 b)如果我在body和jquery.min.js中添加以下脚本仍然无法正常工作。 c)如果我在body和jquery.min.js中添加以下脚本,就在下面的代码上面,那么它可以工作。为什么会这样?
此外,我需要让jquery.min.js为joomla的其他功能工作。是否可以在头部和体内添加jquery.min.js。
我正在使用jQuery v@1.8.1
请帮助我理解上述情况。
<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>» Add your favourite links.....</span></a></p>
</div>
答案 0 :(得分: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>
答案 1 :(得分:1)
在实际脚本之前为jQuery添加包含script
标记的原因是因为脚本使用jQuery来执行它所执行的操作。在JavaScript中,您可以按照加载的顺序访问脚本的功能。
答案 2 :(得分: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>
答案 3 :(得分: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);