1

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

说我的文字是这样的:

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

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

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

有没有办法做到这一点?

4

1 回答 1

1

您可以在选择索引更改时添加,而不是script删除和添加索引更改。selectscripthtml()

$('#selectId').change(function(){
    $('<%=ltrGoogle.ClientID %>').html("<script><\/script>");
});

或者,将脚本放在单独的 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");
});
于 2013-07-15T14:43:44.967 回答