使用JQuery删除元素
我有一个文字,里面有一些谷歌分析脚本。我想在加载时从页面源中删除文本,但稍后在下拉索引更改时重新附加它使用JQuery删除元素,jquery,asp.net,show-hide,Jquery,Asp.net,Show Hide,我有一个文字,里面有一些谷歌分析脚本。我想在加载时从页面源中删除文本,但稍后在下拉索引更改时重新附加它 $('#selectId').change(function(){ $('<%=ltrGoogle.ClientID %>').html("<script><\/script>"); }); 我的字面意思是: <asp:Literal ID="ltrGoogle" runat="server"> <script> </
$('#selectId').change(function(){
$('<%=ltrGoogle.ClientID %>').html("<script><\/script>");
});
我的字面意思是:
<asp:Literal ID="ltrGoogle" runat="server">
<script>
</script>
</asp:Literal>
我已经尝试了jquery的detach、show/hide、attr,但是当我看到源代码时,仍然可以看到脚本
完全删除它的唯一方法是在代码隐藏中设置visible=falseon load事件,但是我无法在jquery on dropdown selected index change事件中将其设置回true,因为它已从DOM中删除
有什么方法可以做到这一点吗?您可以在选择索引更改时通过html添加脚本,而不是在选择索引更改时删除和添加脚本
$('#selectId').change(function(){
$('<%=ltrGoogle.ClientID %>').html("<script><\/script>");
});
或者,将脚本放在seprate js文件上并动态添加脚本
$('#selectId').change(function(){
var script = document.createElement( "script" );
script.type = "text/javascript";
script.src = "scriptname.js";
$("<%=ltrGoogle.ClientID %>").append(script);
});
或者,您可以尝试使用jqueryload加载整个页面
$('#selectId').change(function(){
$("<%=ltrGoogle.ClientID %>").load("urlOfHtmlContainGoogleScriptOrHtml");
});
您可以在选择索引更改时通过html添加脚本,而不是在选择索引更改时删除和添加脚本
$('#selectId').change(function(){
$('<%=ltrGoogle.ClientID %>').html("<script><\/script>");
});
或者,将脚本放在seprate js文件上并动态添加脚本
$('#selectId').change(function(){
var script = document.createElement( "script" );
script.type = "text/javascript";
script.src = "scriptname.js";
$("<%=ltrGoogle.ClientID %>").append(script);
});
或者,您可以尝试使用jqueryload加载整个页面
$('#selectId').change(function(){
$("<%=ltrGoogle.ClientID %>").load("urlOfHtmlContainGoogleScriptOrHtml");
});
脚本标签里面有什么?只是JS函数吗?如果是的话,为什么不在需要的时候打电话给他们呢?可能使用eval?你在做什么来查看源代码?如果您使用的是View Source,它将始终显示从服务器加载的页面。您需要使用浏览器中通常可以通过在Windows上按F12键来访问的开发人员工具来查看DOM中的更改。@Blade0rz这是Google scripts for Analytical…您所说的eval是什么意思?您试过了吗?没有jquery。我想强调Charlie Kilian的评论,即所有浏览器中页面的视图源都将保持不变,无论如何发生了什么。查看页面的源代码就像查看类的源代码一样,当它运行时,源代码保持不变,但对象的状态发生变化。在您的例子中,您希望查看DOM的状态,这可以在FireFox中使用firebug或Chrome使用inspect元素或IE>9通过按F12来完成。这些都相当于网页的调试器。没有一个类比是完美的,如果你已经知道了这个基本事实,那就道歉。脚本标签里面是什么?只是JS函数吗?如果是的话,为什么不在需要的时候打电话给他们呢?可能使用eval?你在做什么来查看源代码?如果您使用的是View Source,它将始终显示从服务器加载的页面。您需要使用浏览器中通常可以通过在Windows上按F12键来访问的开发人员工具来查看DOM中的更改。@Blade0rz这是Google scripts for Analytical…您所说的eval是什么意思?您试过了吗?没有jquery。我想强调Charlie Kilian的评论,即所有浏览器中页面的视图源都将保持不变,无论如何发生了什么。查看页面的源代码就像查看类的源代码一样,当它运行时,源代码保持不变,但对象的状态发生变化。在您的例子中,您希望查看DOM的状态,这可以在FireFox中使用firebug或Chrome使用inspect元素或IE>9通过按F12来完成。这些都相当于网页的调试器。没有一个类比是完美的,如果你已经知道这个基本事实,我会道歉。如果我把它放在单独的文件中,我可以把它隐藏在代码后面吗,比如加载事件?ltrGoogle.Visible=false。哦,我明白你的意思是让ltrGoogle在加载事件中隐藏它,然后使用第二个选项从文件加载?不,你不应该像以前那样添加脚本ltrGoogle,但是动态地添加它。如果我把它放在单独的文件中,我可以在代码隐藏中隐藏它吗,比如加载事件?ltrGoogle.Visible=false。哦,我明白了,你的意思是让ltrGoogle在加载事件中隐藏它,然后使用第二个选项从文件加载?不,你不应该像以前那样添加脚本ltrGoogle,而是动态添加它。会是