【问题标题】:appending to links with jquery使用 jquery 附加到链接
【发布时间】:2010-09-20 06:32:42
【问题描述】:

我需要在所有指向某个 URL 的链接末尾附加一个关联 ID。

这是我拥有的,但我无法让它工作。

(这将在 WordPress 中)

<script type="text/javascript">
jQuery(document).ready(function() {
   jQuery("a[href*=doitbest]").click(function() {
     this.append("?memberid=5705&associate=true");
   });
 });
</script>

有什么想法吗?

【问题讨论】:

    标签: jquery wordpress permalinks


    【解决方案1】:

    假设您的选择器 (a[href*=doitbest]) 有效,您可以尝试:

    jQuery(document).ready(function() {
       jQuery("a[href*=doitbest]").click(function() {
          href = $(this).attr('href');
          del = href.indexOf('?') > -1 ? '&' : '?';
          href += del + 'memberid=5705&associate=true';
          $(this).attr('href', href);
       });
    });
    

    这会更改href 属性,而不是链接文本。不过,我不完全确定这是您想要的。 del 变量用于通过 &amp;? 字符附加 URL 部分。

    【讨论】:

    • 这不起作用,但我忘了提到我试图附加到的链接来自我正在显示在屏幕上的 RSS 提要。这有什么不同吗?
    • @Adam Munns 可能是 - 如果在附加点击处理程序时链接不是 DOM 的一部分,则不会对 href 进行操作。请发布更多代码或现场演示链接。另外,尝试在click 函数中放置一个简单的alert(),以查看处理程序是否正确附加。
    • 如何判断解析后的 RSS 提要是否是 DOM 的一部分?警报似乎没有做任何事情。
    • 您需要查看什么代码?在此期间,我会尝试制作一个实时版本
    • 大家好,我决定改用 PHP 来修改提要。
    【解决方案2】:

    首先,我认为您必须使用$(this) 而不是this

    您还希望更改链接的 URL。应该对href属性进行更改,所以

     $('a#my_link').click( function (event) {
      $(this).attr('href', $(this).attr('href') + '&id=1');
    });
    

    【讨论】:

      猜你喜欢
      • 2012-03-14
      • 1970-01-01
      • 2021-11-17
      • 1970-01-01
      • 2013-06-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多