Jquery / javascript基于url中的hashtag找到一个指向同一个url并执行某些操作的标记

时间:2011-08-29 22:09:16

标签: jquery hash hyperlink tags find

我这里有一个复杂的问题。

现在我在我的页面上运行一个脚本,当用户点击链接时,我使用jQuery的.load()从名为'imglocation'的自定义属性加载图像。

这一切都很好;我的问题是用户点击的链接在网址中放置了一个哈希标记,然后我想用它来匹配页面上的链接,并运行与用户点击它相同的功能。我们的想法是,当您在浏览器中打开链接时向某人发送链接时,该功能将运行并显示某人已发送给他们的图像。

我想做的是:

var hashedLink = location.hash;
var findLink = $(".photothumb a").attr("href");

if(hashedLink == findLink){

// In here set some variable to flag the link
// then load the image based on the attr imgLocation of the same link.

}

如果可以,请告诉我。

2 个答案:

答案 0 :(得分:1)

我认为您想要做以下事情......

$(document).ready(function()
{
   var findLink = $(".photothumb a[href='" + location.hash + "']");

   if (findLink.length > 0) // we found the link with the hash in the href
   {
      findLink.click(); // click the found link
   }
}

我没有对此进行过测试,你可能想稍微使用选择器以确保href中存在哈希标记,但这应该是你想做的。

答案 1 :(得分:0)

您要求的大部分内容都应该是微不足道的,除非您“模仿”链接上的点击。

默认链接,没有点击事件;有很多方法可以获得类似的行为,你应该使用任何这些变化,例如:如果不需要真正的点击,只需调用click事件将调用的函数。

但如果你真的想模仿链接上的点击,你应该阅读this post。请注意,您需要模拟点击的唯一原因是当您有一堆事件处理程序附加到该链接时,您无法确定这些事件是什么。