Удаление внешнего файла JS динамически

0

Я пытаюсь удалить файл js на mouseclick. Я имею в виду www.javascriptkit.com/javatutors/loadjavascriptcss2.shtml для удаления. Но он не работает для меня. Это мой соответствующий код.

Часть HTML:

<div id="dropdownlist" style="position:absolute;z-index:102;">
                  <a href="#" onclick="DisplayDropdownSelectedPage('blog')">BLOG</a><br/><a href="#" onclick="DisplayDropdownSelectedPage('careers')">CAREERS</a><br/><a href="#" onclick="DisplayDropdownSelectedPage('whistleblower')">WHISTLE BLOWSER</a><br/><a href="#" onclick="DisplayDropdownSelectedPage('disclaimer')">DISCLAIMER</a><br/><a href="#" onclick="DisplayDropdownSelectedPage('sitemap')">SITEMAP</a><br/><a href="#" onclick="DisplayDropdownSelectedPage('feedback')">FEEDBACK</a><br/>
                </div>

Часть JS:

function removejscssfile(filename, filetype){
 var targetelement=(filetype=="js")? "script" : (filetype=="css")? "link" : "none" //determine element type to create nodelist from
 var targetattr=(filetype=="js")? "src" : (filetype=="css")? "href" : "none" //determine corresponding attribute to test for
 var allsuspects=document.getElementsByTagName(targetelement)
 for (var i=allsuspects.length; i>=0; i--){ //search backwards within nodelist for matching elements to remove
  if (allsuspects[i] && allsuspects[i].getAttribute(targetattr)!=null && allsuspects[i].getAttribute(targetattr).indexOf(filename)!=-1)
   allsuspects[i].parentNode.removeChild(allsuspects[i]) //remove element by calling parentNode.removeChild()
 }
}

function DisplayDropdownSelectedPage(dropdownname)
{
    var width=$(window).width();
    var height=$(window).height();
    var top=document.getElementById("globelHead").offsetHeight;
    var animateheight=(height-top);
    var animatewidth=(width/2);
    var shiftright=(-(animatewidth)+"px");
    if(dropdownname=="blog")
    {
        removejscssfile("myscript.js", "js")
        $("#Blog").css({"width":animatewidth+"px","height":animateheight,"right":shiftright,"top":top});
        $("#Blog").show().animate({right:'0%'},1200);
        $("#Careers").hide();
        $("#WhistleBlower").hide();
        $("#Disclaimer").hide();
        $("#SiteMap").hide();
        $("#Feedback").hide();

    }
    else if(dropdownname=="careers")
    {
        removejscssfile("myscript.js", "js")
        $("#Blog").hide();
        $("#Careers").css({"width":animatewidth+"px","height":animateheight,"right":shiftright,"top":top});
        $("#Careers").show().animate({right:'0%'},1200);
        $("#WhistleBlower").hide();
        $("#Disclaimer").hide();
        $("#SiteMap").hide();
        $("#Feedback").hide();
    }
    else if(dropdownname=="whistleblower")
    {
        removejscssfile("myscript.js", "js")
        $("#Blog").hide();
        $("#Careers").hide();
        $("#WhistleBlower").css({"width":animatewidth+"px","height":animateheight,"right":shiftright,"top":top});
        $("#WhistleBlower").show().animate({right:'0%'},1200);
        $("#Disclaimer").hide();
        $("#SiteMap").hide();
        $("#Feedback").hide();
    }
    else if(dropdownname=="disclaimer")
    {   
        removejscssfile("myscript.js", "js")
        $("#Blog").hide();
        $("#Careers").hide();
        $("#WhistleBlower").hide();
        $("#Disclaimer").css({"width":animatewidth+"px","height":animateheight,"right":shiftright,"top":top});
        $("#Disclaimer").show().animate({right:'0%'},1200);
        $("#SiteMap").hide();
        $("#Feedback").hide();

    }
    else if(dropdownname=="sitemap")
    {

        $("#Blog").hide();
        $("#Careers").hide();
        $("#WhistleBlower").hide();
        $("#Disclaimer").hide();
        $("#SiteMap").css({"width":animatewidth+"px","height":animateheight,"right":shiftright,"top":top});
        $("#SiteMap").show().animate({right:'0%'},1200);
        $("#Feedback").hide();

    }
    else if(dropdownname=="feedback")
    {
        $("#Blog").hide();
        $("#Careers").hide();
        $("#WhistleBlower").hide();
        $("#Disclaimer").hide();
        $("#SiteMap").hide();
        $("#Feedback").css({"width":animatewidth+"px","height":animateheight,"right":shiftright,"top":top});
        $("#Feedback").show().animate({right:'0%'},1200);
    }
}

2 ответа

3

Не совсем понимаю вашу проблему, но если вам нужно удалить файл из документа DOM, добавьте его в идентификатор атрибута и удалите его.

<script id="mustBeRemoved">....
$("#mustBeRemoved").remove();
  • 0
    Вы не думаете, что это может вызвать путаницу? Когда вы даете ID скрипту, например: «Ну, я даю id для div, span и т. д., поэтому я думаю, что я удаляю div из DOM».
  • 0
    В HTML5 разрешен атрибут tag для ВСЕХ элементов DOM, поэтому я не вижу проблем в этом
Показать ещё 3 комментария
1

Попробуйте это, я протестировал это

$(document).ready(function(){

 $('#cats').click(function(){  


        $('head script[src*="jquery-ui.js"]').remove();

    });
});

Попробуйте в файле HTML, файл js удаляется при нажатии на изображение

<!doctype html>
<html lang="en">
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> 
<script src="http://code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
<script>
$(document).ready(function(){

 $('#cats').click(function(){  


        $('head script[src*="jquery-ui.js"]').remove();

    });
});
</script>
<title>Birman Cats</title>
</head>

<body>
<h1>  Black Cat Superstitions</h1>
<div id="black">
<h2>  Folk Lore</h2>
<div id="cats">
<p><img src="http://s.w.org/style/images/wp-header-logo.png?1"/></p></div>
</div>
</body>
</html>
  • 0
    это решение не работает
  • 0
    @ user3535625, проверь это новое решение, оно работает
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню