使用多个ID引用网址?

时间:2010-02-26 15:28:04

标签: javascript jquery

这是一个更新,因为Gaby能够帮助我解决我的问题。这现在有效了

演示时间! http://media.apus.edu/it/ref/page1.htm

简而言之 - 当您单击链接时,此代码将动态地将引用URL从第1页发送到第3页。为什么这很重要?

我们无法在第3页上放置分析代码(谷歌分析),因为它是第三方网站。我们现在应该能够跟踪第1页上的潜在客户,这也是第三方网站,当他们点击第2页(我们的网站有谷歌分析),然后点击链接到第3页(第三方网站,不能通过自定义),因为该网站使用自己的分析代码来跟踪活动。

第1页:点击链接,它将转到第2页。

第2页:第2页知道您来自第1页,当您点击它时,会将引用网址从第1页传递到第3页。此外,为链接分配了一个将调用该函数的类,因为我们无法为CMS中的链接分配onclick。此外,Gaby帮助解决了让我多次使用相同ID的问题,现在我只需要使用分配给该链接的类。不再需要ID了......谢谢!这将使我能够在页面上分配任何链接,以便在分配了css类时传递引用URL。

我相信有人会从这个代码中受益...请传递它!

PS。我知道如果第1页来自安全网站,此代码将无效。

埃文

4 个答案:

答案 0 :(得分:1)

您可以为链接指定一个独特的类,例如“specialTrick”:

$('a.specialTrick').each(function() {
  // do the special trick
});

请注意,依赖“REFERER”非常脆弱,可能不是一个好主意。

答案 1 :(得分:1)

无需通过ID访问元素,因为您希望将相同的逻辑应用于多个项目..(并且您已经可以通过click事件进行访问..)

你的代码应该是

$(document).ready(function()
  {
    $(".referringClass").click(function(event)
      {
        if (document.referrer != '')
          {
            var testing=document.referrer;
            var href = $(this).attr('href');
            $(this).attr('href', href + "?campaign-id=" + testing );
          }
      }
     );
 });

答案 2 :(得分:0)

您不需要任何ID - 当您通过className获取元素来分配点击时,您已经拥有了所需的一切。通过分配点击,您可以访问“this”,从而可以访问所点击元素的所有属性。

所以myTextField实际上是'this',例如。

oldHref = $(this).attr('href');
$(this).attr('href', oldHref + "?campaign-id=" + testing);
无论如何

或类似的东西

答案 3 :(得分:0)

很抱歉,我现在无法测试并确认这一点,但您应该使用event.target

http://docs.jquery.com/Events/jQuery.Event#event.target

它看起来像:

$(document).ready(
    function()
    {
        $(".referringClass").click(
            function(event)
            {
                if (document.referrer != '')
                var testing=document.referrer

                var myTextField = event.target;
                myTextField.href=myTextField.href + "?campaign-id=" + testing;
            }
        );
    }
)