请问在js里的一段html代码不能加载它需要的js(是叫动态引用吗?不是很清楚)

「已注销」 2018-08-12 10:03:15

str = "<div>"
+"<tr>"+ "<br>"+ "<br>"
+ "<td width='60px' align='right'><font size='3'>地址:</td>"
+ "<td width='120px' align='left'><font size='3' color='#ff0000'>" + feature.get('coor') + "<br>" + "</font></td>"
+ "<td width='150px' height='180px' id='<strong>chartcontainer</strong>' rowspan='4'></td>"
+ "</tr>"
+ "<hr style='height:10px;border:none;border-top:1px dashed #0066CC;' />"
+ "<tr>"
+ "<td width='60px' align='right'>温度:</td>"
+ "<td width='120px' align='left'><font color='#ff0000'>" + feature.get('temp') + "<br>" + "</font></td>"
+ "</tr>"
+ "<hr style='height:10px;border:none;border-top:1px dashed #0066CC;' />"
+ "<tr>"
+ "<td width='60px' align='right'>湿度:</td>"
+ "<td width='120px' align='left'><font color='#ff0000'>" + feature.get('humi') + "<br>" + "</font></td>"
+ "</tr>"
+ "<hr style='height:10px;border:none;border-top:1px dashed #0066CC;' />"
+ "<tr>"
+ "<td width='60px' align='right'>图片:</td>"
+ "<div id='gallery'>"
<!-- +"<ul>" -->
<!-- +"<li>" -->
+"<a href='__PUBLIC__static/admin/image/test.jpg'>"
+"<img src='__PUBLIC__static/admin/image/test.jpg' width='50' height='50' alt='' />"
+"</a>"
<!-- +"</li>" -->
<!-- +"</ul>" -->
+"</div>"

+ "</tr>"
+ "<hr style='height:10px;border:none;border-top:1px dashed #0066CC;' />"
+ "<tr>"
+ "</div>";
content.innerHTML = str;

<div id='gallery'>的部分需要加载一个js插件<script type="text/javascript" src="__PUBLIC__static/admin/js/jquery.lightbox-0.5.js"></script>
如果把这段拿到html里写就会加载这个插件,写在js里面就只会跳转到href路径去,请问有什么方法解决吗
...全文
269 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
讨厌走开啦 2018-08-13
  • 打赏
  • 举报
回复
https://blog.csdn.net/lqlqlq007/article/details/78665962 看里面的load函数,应该是你需要的。
讨厌走开啦 2018-08-13
  • 打赏
  • 举报
回复
引用 9 楼 u011301230 的回复:
引用 8 楼 lqlqlq007 的回复:
[quote=引用 7 楼 u011301230 的回复:]
[quote=引用 5 楼 lqlqlq007 的回复:]
[quote=引用 4 楼 u011301230 的回复:]
[quote=引用 2 楼 lqlqlq007 的回复:]
https://blog.csdn.net/lqlqlq007/article/details/78665962 看里面的load函数,应该是你需要的。
我的是因为在inner HTML里面都加载不到js


为什么你一定要把<script type="text/javascript" src="__PUBLIC__static/admin/js/jquery.lightbox-0.5.js"></script> 写在innerHTML里面呢?写在外面不行么?[/quote]写在外面inner HTML里的代码加载不到这段js,我试着单独把这段写到html<body>里面,就可以加载达到效果[/quote]

写在外面inner HTML里的代码加载不到这段js——这句无法理解。

content.innerHTML = str;你在写完这句的时候调用一下load函数不行吗,调用load实际就相当于“把这段写到html<body>里面”,只不过什么时候“把这段写到html<body>里面”是你可以控制的。[/quote]刚刚看了半天不太懂在调用load的时候的callback这个参数要怎么写[/quote]
那就是一个回调的入口,比如你想在动态加载一个js后再额外做一个什么事情,可以写在callback里,如果没有可以不传。
「已注销」 2018-08-13
  • 打赏
  • 举报
回复
引用 8 楼 lqlqlq007 的回复:
引用 7 楼 u011301230 的回复:
[quote=引用 5 楼 lqlqlq007 的回复:]
[quote=引用 4 楼 u011301230 的回复:]
[quote=引用 2 楼 lqlqlq007 的回复:]
https://blog.csdn.net/lqlqlq007/article/details/78665962 看里面的load函数,应该是你需要的。
我的是因为在inner HTML里面都加载不到js


为什么你一定要把<script type="text/javascript" src="__PUBLIC__static/admin/js/jquery.lightbox-0.5.js"></script> 写在innerHTML里面呢?写在外面不行么?[/quote]写在外面inner HTML里的代码加载不到这段js,我试着单独把这段写到html<body>里面,就可以加载达到效果[/quote]

写在外面inner HTML里的代码加载不到这段js——这句无法理解。

content.innerHTML = str;你在写完这句的时候调用一下load函数不行吗,调用load实际就相当于“把这段写到html<body>里面”,只不过什么时候“把这段写到html<body>里面”是你可以控制的。[/quote]刚刚看了半天不太懂在调用load的时候的callback这个参数要怎么写
讨厌走开啦 2018-08-13
  • 打赏
  • 举报
回复
引用 7 楼 u011301230 的回复:
引用 5 楼 lqlqlq007 的回复:
[quote=引用 4 楼 u011301230 的回复:]
[quote=引用 2 楼 lqlqlq007 的回复:]
https://blog.csdn.net/lqlqlq007/article/details/78665962 看里面的load函数,应该是你需要的。
我的是因为在inner HTML里面都加载不到js


为什么你一定要把<script type="text/javascript" src="__PUBLIC__static/admin/js/jquery.lightbox-0.5.js"></script> 写在innerHTML里面呢?写在外面不行么?[/quote]写在外面inner HTML里的代码加载不到这段js,我试着单独把这段写到html<body>里面,就可以加载达到效果[/quote]

写在外面inner HTML里的代码加载不到这段js——这句无法理解。

content.innerHTML = str;你在写完这句的时候调用一下load函数不行吗,调用load实际就相当于“把这段写到html<body>里面”,只不过什么时候“把这段写到html<body>里面”是你可以控制的。
「已注销」 2018-08-13
  • 打赏
  • 举报
回复
引用 5 楼 lqlqlq007 的回复:
引用 4 楼 u011301230 的回复:
[quote=引用 2 楼 lqlqlq007 的回复:]
https://blog.csdn.net/lqlqlq007/article/details/78665962 看里面的load函数,应该是你需要的。
我的是因为在inner HTML里面都加载不到js


为什么你一定要把<script type="text/javascript" src="__PUBLIC__static/admin/js/jquery.lightbox-0.5.js"></script> 写在innerHTML里面呢?写在外面不行么?[/quote]写在外面inner HTML里的代码加载不到这段js,我试着单独把这段写到html<body>里面,就可以加载达到效果
天际的海浪 2018-08-13
  • 打赏
  • 举报
回复
引用 3 楼 u011301230 的回复:
[quote=引用 1 楼 jslang 的回复:]
用innerHTML设置的html代码中的script标签是不会真正加载的。
要用document.createElement("script")创建元素,并用appendChild()把元素放到页面中。需要注意这样js是异步加载和执行的(直接写在页面时是同步加载和执行)。

或者可以用jquery的 append() 来做, jquery会自动把html代码中的script标签提取出来,单独创建一个script元素放到head中加载。

$("#popup-content").append('<script src="__PUBLIC__static/admin/js/jquery.lightbox-0.5.js"><\/script>');
像这样好像还是没有加载[/quote]
应该是可以的。另外还可以用jquery的 $.getScript("url.js");
讨厌走开啦 2018-08-13
  • 打赏
  • 举报
回复
引用 4 楼 u011301230 的回复:
引用 2 楼 lqlqlq007 的回复:
https://blog.csdn.net/lqlqlq007/article/details/78665962 看里面的load函数,应该是你需要的。
我的是因为在inner HTML里面都加载不到js


为什么你一定要把<script type="text/javascript" src="__PUBLIC__static/admin/js/jquery.lightbox-0.5.js"></script> 写在innerHTML里面呢?写在外面不行么?
「已注销」 2018-08-13
  • 打赏
  • 举报
回复
引用 2 楼 lqlqlq007 的回复:
https://blog.csdn.net/lqlqlq007/article/details/78665962 看里面的load函数,应该是你需要的。
我的是因为在inner HTML里面都加载不到js
「已注销」 2018-08-13
  • 打赏
  • 举报
回复
引用 1 楼 jslang 的回复:
用innerHTML设置的html代码中的script标签是不会真正加载的。
要用document.createElement("script")创建元素,并用appendChild()把元素放到页面中。需要注意这样js是异步加载和执行的(直接写在页面时是同步加载和执行)。

或者可以用jquery的 append() 来做, jquery会自动把html代码中的script标签提取出来,单独创建一个script元素放到head中加载。

$("#popup-content").append('<script src="__PUBLIC__static/admin/js/jquery.lightbox-0.5.js"><\/script>');
像这样好像还是没有加载
天际的海浪 2018-08-12
  • 打赏
  • 举报
回复
用innerHTML设置的html代码中的script标签是不会真正加载的。
要用document.createElement("script")创建元素,并用appendChild()把元素放到页面中。需要注意这样js是异步加载和执行的(直接写在页面时是同步加载和执行)。

或者可以用jquery的 append() 来做, jquery会自动把html代码中的script标签提取出来,单独创建一个script元素放到head中加载。

87,909

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧