javascript上的函数无法删除

时间:2017-03-18 04:05:51

标签: javascript php jquery html

如何删除特定ID中的所有DOM,我们知道http://jsfiddle.net可以测试所有条件的javascript。

目录文件:

p: 36595219896620598203466837041441890226020928028223099101100300133334608406956417
q: 30995374714748002222830087470985334838922058265073459880006631044742483128394347
e: 65537
c: 112551517443367600226914124474656800456883252179897098198626860064436836858554837037004323690904898146330897248584664231803632050963580641362896311366999264714

index.php有脚本标记id =' index'这个index.php使用.load()(jQuery)为load.php,在load.php中有脚本标记id =' load',

我尝试使用此方法(在load.php中为index.php中的干净DOM):

def egcd(a,b):
    x,y, u,v = 0,1, 1,0
    while a != 0:
        q, r = b//a, b%a
        m, n = x-u*q, y-v*q
        b,a, x,y, u,v = a,r, u,v, m,n
        gcd = b
    return gcd, x, y

def main():

    p = 36595219896620598203466837041441890226020928028223099101100300133334608406956417
    q = 30995374714748002222830087470985334838922058265073459880006631044742483128394347
    e = 65537
    ct = 112551517443367600226914124474656800456883252179897098198626860064436836858554837037004323690904898146330897248584664231803632050963580641362896311366999264714

    # compute n
    n = p * q

    # Compute phi(n)
    phi = (p - 1) * (q - 1)

    # Compute modular inverse of e
    gcd, a, b = egcd(e, phi)
    d = a

    print( "n:  " + str(d) );

    # Decrypt ciphertext
    pt = pow(ct, d, n)
    print( "pt: " + str(pt) )

if __name__ == "__main__":
    main()

但这不会删除DOM函数,为什么??

编辑: 这个问题是DOM无法删除

我需要删除一个< script id =' index' >如果我加载" load.php"

和DOM功能(全部来自此标签)

2 个答案:

答案 0 :(得分:0)

如果您希望这样做,则不能使用具有相同id的多个元素,而是需要使用

$(document).ready(function(){
   $(".index").remove();
});

<强>更新

如果您要在加载其他文件时隐藏脚本,可以通过在 div 之间包围脚本来隐藏,例如:

 <div class="divtohide">
      <script>
          $(document).ready(function(){
              $("button").click(function(){
                 $(".test").load("load.php");
              });
           });
      </script>
 </div>

在你的load.php中你可以创建一个脚本来删除.divtohide div:

 <script>
     $(document).ready(function(){
         $(".divtohide").remove();
     });
 </script>

答案 1 :(得分:0)

您的JavaScript将在//Global var appBrowserRef; appBrowserRef = cordova.InAppBrowser.open('https://www.google.com/', '_blank', 'location=yes'); appBrowserRef.addEventListener('loaderror', loadErrorCallBack); function loadErrorCallBack(params) { var scriptErrorMesssage = "alert('Sorry we cannot open that page. Message from the server is : " + params.message + "');" appBrowserRef.executeScript({ code: scriptErrorMesssage }, executeScriptCallBack); appBrowserRef.close(); appBrowserRef = undefined; } 运行。因此,我们需要在将内容加载到网页之前删除字符串。我决定使用.load(),它将以文本形式获取信息。然后我通过正则表达式运行数据,该正则表达式将删除$.get。然后,我将其附加到页面(用于测试)。如果您注意到script#index没有console.log,尽管它位于removeIndex.html的来源,这是因为我们已成功删除script#index处的JavaScript。

$.get("http://neil.computer/stack/removeIndex.html", function (data) {
	data = data.replace(/<script.+?id=["']index["'](.|[\r\n])*?<\/script>/gi,"");
	$("#container").html(data);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="container"></div>

<强> removeIndex.html

此文件包含一些示例输入:

<div>
    Testing stuff
</div>

<script id="index">
    console.log("ignore me");
</script>

<div>
    Testing more stuff
</div>