在 Joomla 2.5 中使用 Jquery 选择一个类

Posted

技术标签:

【中文标题】在 Joomla 2.5 中使用 Jquery 选择一个类【英文标题】:Using Jquery to Select a class in Joomla 2.5 【发布时间】:2014-09-12 06:53:19 【问题描述】:

我在扯我的头发,为什么这不起作用。我在 Joomla 2.5 上有一个客户端,模板调用 jQuery 1.8。我只是想将 target="_blank" 属性添加到一些具有通用类 .social-button 的链接这是我的代码:

$(document).ready(function() 
$(".social-button").attr('target','_blank');
);

有人有什么想法吗?

【问题讨论】:

您何时/何处在 DOM 中添加 jqeury 代码?你遇到了什么错误? 你最后多了一个 “我在 Joomla 2.5 上有一个客户”这是你的第一个问题 :) @AminJafari 是正确的。如果您只查看了 tour web-inspector/debugger/firebug 的控制台,您就会注意到。你确实有其中一个 我在发布后注意到额外的括号,但仍然没有任何区别。我知道 Joomla 不是最好的,但我坚持下去。我没有建立网站。 js 在页面的其余部分之前加载,这可能是我的问题。当我尝试将它添加到文档末尾时,Joomla 会重新编写 【参考方案1】:

我不确定您在哪里添加代码,请尝试以下操作:

<?php
   $doc = JFactory::getDocument();
   $doc->addScriptDeclaration('
      jQuery(document).ready(function($) 
          $(".social-button").attr("target","_blank");
      );
   ');
?>

以上代码使用 Jooma API 方法将您的代码注入模板的&lt;head&gt;

我不确定您是如何导入 jQuery 的,或者这是否已经完成。如果要自己导入 jQuery,请阅读我在 How to import jQuery in Joomla 上的回答,因为您可能加载了多个库,从而导致冲突。

最后补充说明,Joomla 确实,就像任何 CMS 一样,它也有它的缺点,但是对于一个开箱即用的 CMS 它实际上非常好并且非常灵活。如果您要升级到 3.3.1,您会发现更多功能触手可及。

【讨论】:

做到了!谢谢!【参考方案2】:

试试这个:

<script>
        window.onload = function()
        
            $(".social-button").attr('target','_blank');
        ;
</script>

【讨论】:

运气不好。它在body标签之前加载js……这会导致问题吗? 嗯,window.onload 通常会等到页面加载完毕,你也可以试试这个: window.onload 上还有其他内容吗?如果是这样,请使用此 window.addEventListener('load', function() $(".social-button").attr('target','_blank');); body标签不需要加onload函数 @Ryan 您可以通过简单地将 Joomla 设置中的 html 输出作为小提琴发布来提供帮助,我们可以看看在哪里加载了什么。

以上是关于在 Joomla 2.5 中使用 Jquery 选择一个类的主要内容,如果未能解决你的问题,请参考以下文章

在 Joomla 2.5 中激活 SEO 设置后出错

如何在 Joomla 2.5 中使用 twitter bootstrap 作为第三方组件?

在 Joomla 2.5 中更改视图布局

Joomla 2.5 组件

joomla 2.5 JText在xml文件中不起作用

是否可以在 joomla 2.5 中导出已安装的组件?