使用JQuery删除元素

时间:2013-07-15 14:40:42

标签: jquery asp.net show-hide

我有一个Literal,里面有一些Google分析脚本。我想在加载时从页面源删除Literal,但稍后在下拉索引更改时重新附加它。

说我的文字是这样的:

<asp:Literal ID="ltrGoogle" runat="server">
<script>
</script>
</asp:Literal>

我尝试了jquery的detach()show()/hide()attr但是当我看到源代码时,我仍然可以看到该脚本。

完全删除它的唯一方法是在visible = false load事件上设置{{1}}后面的代码,但是我无法在下拉选择索引更改事件的jquery中将其设置为true,因为它从DOM中删除。

有没有办法做到这一点?

1 个答案:

答案 0 :(得分:1)

您可以在选择的索引更改时添加scriptselect,而不是在script索引更改中删除和添加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);
});

或者,您可以尝试使用jQuery load

加载整个页面
$('#selectId').change(function(){      
    $("<%=ltrGoogle.ClientID %>").load("urlOfHtmlContainGoogleScriptOrHtml");
});