【问题标题】:Remove a script with jQuery使用 jQuery 删除脚本
【发布时间】:2015-07-16 08:42:12
【问题描述】:

我的 jQuery 有问题。所以,我想删除<div> 中的脚本。 我的 html 是:

<div id="right-bloc">
        <div class="right-bloc-pub-1">
            <script type="text/javascript" src="http://firstScript.com"></script>
        </div>
        <div class="right-bloc-pub-2">
            <script type="text/javascript" src="http://secondScript.com"></script>
        </div>
</div>

我的 jQuery :

 var stringOfHtml = '<script type="text/javascript" src="http://firstScript.com"></script>';
 var html = $(stringOfHtml);
 html.find('script').remove();

我想删除包含http://firsttScript.com 的脚本女巫,但无法正常工作。可以删除此脚本并在之后添加吗?因为我需要刷新这个脚本

【问题讨论】:

  • &lt;script&gt; 是否存在于您的实际 html 中?还是只是一个变量?
  • 更好的解决方案:$('#right-bloc').find('script[src="http://firstScript.com"]').remove().

标签: javascript jquery jquery-plugins jquery-events


【解决方案1】:

您可以将其指定为以下代码:

html.find('script[src="http://firstScript.com"]').remove();

【讨论】:

    【解决方案2】:

    假设 &lt;script&gt; 标签实际上在您的 html DOM 中,并且您包含了 jQuery 参考。

    您可以使用.filter() 来获取scriptsrc 作为'http://firstScript.com'.remove()

    $('html').find('script').filter(function(){
        return $(this).attr('src') === 'http://firstScript.com'
    }).remove();
    

    还有,

    var stringOfHtml = '<script type="text/javascript" src="http://firstScript.com"></script>';
    var html = $(stringOfHtml);
    

    这是不允许允许的,并且会抛出错误Unexpected Token Illegal

    【讨论】:

    • 删除这个脚本后可以添加吗?因为我需要刷新脚本
    【解决方案3】:

    试试这个:

       $(document).ready(function(){
         $('.right-bloc-pub-1').find('script[src="http://firstScript.com"]').remove();
       });
    

    $(document).ready(function(){
       $('.right-bloc-pub-1').find('script').attr('src', 'http://firstScript.com').remove();
    });
    

    【讨论】:

      【解决方案4】:

      唯一需要改变的

          var html = $(stringOfHtml);
          html.remove();
      

      【讨论】:

        【解决方案5】:

        要选择和删除您的第一个脚本,您可以这样做:$('script[src="http://firstScript.com"]').remove()

        只要知道这会从您的 DOM 中删除脚本,但不会删除该脚本中加载的库。例如,如果您的第一个脚本加载 jQuery,$ 变量仍将包含 jQuery。要完全删除 jQuery,您可以添加 $ = undefined; jQuery = undefined;

        【讨论】:

        • 要再次添加你的脚本(如果你想刷新它),你可以这样做:$('.right-bloc-pub-1').append('&lt;script type="text/javascript" src="http://firstScript.com"&gt;&lt;/script&gt;') 我建议你在这里使用 id 属性而不是类,假设它是唯一的。
        【解决方案6】:
        $(document).ready(function(){
              $('.right-bloc-pub-1').html().remove();
        });
        

        试试这个

        【讨论】:

          【解决方案7】:

          您需要删除与该脚本相关的事件。 因此,您必须查找属于该脚本的事件。 $._data(document,'events') 是开始的最佳选择。

          【讨论】:

            猜你喜欢
            • 2021-04-12
            • 1970-01-01
            • 2020-09-01
            • 2011-02-25
            • 1970-01-01
            • 1970-01-01
            • 2019-07-21
            • 1970-01-01
            • 2015-09-02
            相关资源
            最近更新 更多