Jquery代码中断页面Javascript

时间:2010-12-30 03:25:27

标签: javascript jquery joomla

我需要一个功能来删除<a>中找到的<div class="rj_insertcode"> div的网址。我不熟悉解决这个问题的方向,我最终选择了以下Jquery代码:

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script src="jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(){
    $('div.rj_insertcode a').each(function() {
        $(this).replaceWith($(this).html());
    });  
});     
</script>
</head>

我的网站使用Joomla CMS,我能够将上述脚本添加到模板index.php的底部。它运行良好,并删除定义的标签之间生成的链接。

我的问题
包含JavaScript的页面无法正常运行。 JavaScript似乎已禁用或无法正常运行。

我可以更改哪些内容以确保JavaScript仍能正常运行,还是我可以采用其他方法?

4 个答案:

答案 0 :(得分:8)

您是否尝试过使用jQuery(...而不是$(......?这将是第一个开始的地方。我对Joomla不太熟悉,但我知道许多CMS会将jQuery置于noConflict模式,并尝试对可能包含的任何其他JavaScript库保持满意。

答案 1 :(得分:2)

Joomla使用Mootools,它不能与jQuery一起使用,并且会导致您的脚本在使用Mootools的页面上中断。你可以尝试:

    window.addEvent('domready', function(){
    $$('div.rj_insertcode a').set('href','');
});

答案 2 :(得分:0)

实际问题是什么? Javascript没有被加载,没有执行或没有正确执行?您可以使用Firebug获取更多信息和/或粘贴一些页面源,因为它显示在问题所在的浏览器中。

答案 3 :(得分:0)

与大多数其他现代CMS(例如Expression Engine,Drupal或WordPress)不同,Joomla在Joomla头标签而不是jQuery中加载MooTools。使用PHP删除MooTools会导致第三方模块中断。

默认情况下,使用MooTools加载jQuery会导致页面中断。改为使用MooTools,你应该全力以赴。

干杯, 克里斯托弗