为什么脚本标签和内容不会出现在div标签内。例如。
我有以下代码:
<div>
<!-- BEGIN: YTV Syndicate script -->
<!-- Edit Section-->
<script type="text/javascript">
alert('hello!'); //check if scripts actually works
var YTVSYND = {}
YTVSYND.key = 'xxx';
YTVSYND.template = {}
YTVSYND.template.name = 'ytv'
YTVSYND.template.size = 'size300x250'
YTVSYND.soc = '<%= Model.Code %>';
YTVSYND.type = 'career';
</script>
<!-- END: EDIT -->
<!-- === DO NOT EDIT BELOW=== -->
<script type="text/javascript">
var ytvSyndUrl = (location.protocol == 'https:') ? 'https://' : 'http://';
ytvSyndUrl += 'syncdn.youniversitytv.com/synapi/embed/ytv-embed-api.js';
ytvSyndUrl = "/Scripts/ytv-embed-api.js"
var str = "<scr" + "ipt type='text/javascript' src='" + ytvSyndUrl + "'>";
str += "<";
str += "\/scr" + "ipt>";
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = ytvSyndUrl;
$("#fgm").html(str)
</script>
<!-- EOF: YTV Syndicate script -->
</div>
它只是执行但是当我检查源时它只显示注释
<!-- BEGIN: YTV Syndicate script -->
<!-- Edit Section-->
<!-- END: EDIT -->
<!-- === DO NOT EDIT BELOW=== -->
<!-- EOF: YTV Syndicate script -->
并且没有脚本标记和实际脚本的迹象。
注意:这是在jquery模式中,我在普通页面中有相同的脚本,它显示在源视图中。
答案 0 :(得分:3)
使用jQuery动态地将一些HTML内容加载到DOM中时,它会完全删除<script>
标记。在大多数情况下,它会对它们进行评估(“eval()”或多或少与浏览器相同),但它们在DOM中不可用。
您可以在jQuery源starting around this point中看到代码。
编辑 - 请注意,我假设您正在动态添加一些HTML。如果你没有这样做,那么<script>
标签将放在DOM中,你就可以在Firebug等中看到它们。
答案 1 :(得分:0)
查看来源不是您的解决方案
查看dom是你的解决方案
使用firebug的web开发人员