Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Jquery(或其他库)动态添加和删除javascript/css_Javascript_Jquery_Url Routing - Fatal编程技术网

使用Jquery(或其他库)动态添加和删除javascript/css

使用Jquery(或其他库)动态添加和删除javascript/css,javascript,jquery,url-routing,Javascript,Jquery,Url Routing,我试着将一个带有客户端路由的单页应用程序与一个只路由到html文件的asp mvc应用程序进行比较,看看哪个更适合我当前的项目。因为我不需要任何Asp Mvc特性,它的所有javascript/html都与web服务通信 然而,我可以用单页应用程序看到的一个问题是,我的站点不是真正的1页,所以我必须在main index.html上添加包含所有共享资源的内容。然后基于hashbang动态加载新页面,并添加任何必需的脚本和css。这似乎并不难,因为我相信Jquery提供了一个.load()方法或类

我试着将一个带有客户端路由的单页应用程序与一个只路由到html文件的asp mvc应用程序进行比较,看看哪个更适合我当前的项目。因为我不需要任何Asp Mvc特性,它的所有javascript/html都与web服务通信

然而,我可以用单页应用程序看到的一个问题是,我的站点不是真正的1页,所以我必须在main index.html上添加包含所有共享资源的内容。然后基于hashbang动态加载新页面,并添加任何必需的脚本和css。这似乎并不难,因为我相信Jquery提供了一个.load()方法或类似的方法来获取外部资源。。。但我的问题是,一旦我做完了,就把它们扔掉

有没有办法做到这一点,所以你只针对特定的脚本/链接标签,你能给他们ID或什么吗

这方面的任何帮助都会很好

==编辑==

添加了一个简单的示例来说明我的意思:

<!-- Script already in page -->
<script type="text/javascript" src="scripts/script1.js"></script>
<!-- Dynamically added script -->
<script type="text/javascript">
 // some javascript
</script>

//一些javascript

你怎么知道哪些应该删除?如果你可以对每个脚本应用一个id或唯一性,那么这可能没问题,但这就是我想问的问题。

我不是shre,我理解你为什么要这样做,但是
链接
元素(对于css)和
脚本
(对于js)与其他元素一样,可以使用
删除()

删除资源没有任何好处。加载脚本后,从页面中删除脚本标记没有任何意义——它根本不会提高浏览器性能,也不会影响保留文件


只需根据需要添加资源并编写代码,使其不会错误执行。

是的,但这并不意味着没有加载到memeory/cache中。我相信浏览器放入缓存/内存的内容超出了您的控制范围。我更担心的是您如何知道要删除哪些链接/脚本标记。。。如果您开始动态添加一些标记,那么它们看起来就像所有其他标记一样,只是使用不同的src/hrefy,您可以像任何其他元素一样为它们分配id。另外,使用jquery,您可以通过属性的(src/rel)值来定位它们!你提出了一个很好的观点,我没有想到。。。这就是为什么使用asp mvc进行路由和重定向到html页面是一个不错的选择,因为每次加载新的内部页面时,我都需要重置页面。通过ajax进行操作不会重置任何内容,所以如果我使用事件侦听器或jquery效果,它们将如您所述保持不变。。。我有不同的css文件为每个子页面,其中一些会导致疯狂的行为,如果一起加载。。。看起来像是它的服务器端回发:(如果你的代码已经编写好了,那么是的,你很难做到你想要的。我相信你可以卸载CSS,这是另一回事。至于侦听器,你必须解除冲突的绑定。所以在scriptA中,当你绑定时,你先解除绑定,然后绑定。然后在scriptB中你也这样做。当scriptB加载时,它会解除绑定c。)脚本中的冲突事件。
$('elem')。解除绑定('click')。单击(…)
是的,目前使用服务器端进行路由似乎是我最好的选择。如果可能的话,我只想成为纯客户端,但要跳过的环数太多会很痛苦,我会对搜索引擎不友好…谢谢你的建议…我会标记帖子,但这只是一个未注册的帐户:(你可以切换答案。)但是,如果AJAX页面不能很好地降级,我真的不喜欢这样的页面。我认为不应该要求JavaScript加载你的页面(喘息!)。这是一个糖果涂层——没有它,你的网站应该完全功能化(而且美味)。