Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用JQuery删除元素_Jquery_Asp.net_Show Hide - Fatal编程技术网

使用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,而是动态添加它。会是