使用jQuery插入一个包含函数的脚本
Use jQuery to insert a script which includes a function?
我试图动态地将一行JavaScript附加到div,但似乎当我运行.append()调用时,浏览器将该行中的函数()调用视为实际函数而不是实际字符串:
var startDate = 0
...
function insertCalendar(){
var divName = "div[name=StartDate" + startDateNum + "]";
$(divName).append("<script>Calendar.setup({ trigger : 'StartDate" + startDateNum + "', inputField : 'StartDate" + startDateNum + "', onSelect : function() { this.hide() } });</script>");
startDateNum++;
}
调用.append()时,JavaScript控制台返回"Uncaught SyntaxError: Unexpected end of input",这似乎与insertCalendar函数混淆了。我很确定我没有错过引用…
让我知道如果这是太模糊,因为这是我在这里的第一个问题。谢谢!
您可以创建一个script标记,然后添加javascript。
var jstag=document.createElement('script');
jstag.setAttribute("type","text/javascript");
jstag.appendChild(document.createTextNode(" Javascript code goes here "));
document.appendChild(jstag);
得到了答案感谢Anzz,混合了一些AJAX:
var startDateNum = 0;
...
function setNewCal(){
var url = "getCal.php?startDate=" + startDateNum;
xmlHttp.open("GET", url, true);
xmlHttp.onreadystatechange = addCalendar;
xmlHttp.send(null);
}
function addCalendar(){
var divName = "StartDate" + startDateNum + "Div";
var response = xmlHttp.responseText;
if (xmlHttp.readyState == 4){
var calscript = document.createElement("script");
calscript.setAttribute("type", "text/javascript");
calscript.appendChild(document.createTextNode(response));
document.getElementById(divName).appendChild(calscript);
startDateNum++;
}
}
相关文章:
- JavaScript数组包含一个值
- 预期响应包含一个对象,但在angular js中得到一个数组错误
- 使用Google闭包编译器包含一个Ecmascript 6类
- 我如何才能包含一个iframe视频,这样它就不会't负载
- 响应应包含一个对象,但得到的却是GET操作的数组
- 普通JS:使80%宽度元素100%IF包含一个图像
- 包含一个集合的1到3个成员但其中一个成员不能单独存在的正则表达式
- AJAX数据包含一个或多个单词.
- jQuery将输入集中在下一个tr->td时,td包含一个输入字段,但从不关注html选择
- 在脚本标记中包含一个javascript文件
- Javascript(如果var包含一个单词,则仅更改该单词的颜色)
- 如果类只包含一个特定数字,则向元素添加类
- 长度为N的字符串的javascript正则表达式,其中至少包含一个字母x
- 正则表达式:密码必须至少包含一个特殊字符
- 如何在jsp页面中包含一个拖放交互UI
- 编写一个包含一个大写字母和六个数字的javascript表达式
- 在 Firebug 中“持久”包含一个脚本
- 如果网站在框架/ iframe内,则document.referer将始终包含一个值
- Meteor.js HTTP.get 获取 JSON 引号并解析结果似乎包含一个回调函数
- 所有有效的电子邮件是否至少包含一个@符号