Jquery / Javascript На основе хэштега в URL-адрес найти тег, который указывает на тот же URL-адрес и сделать что-то - PullRequest
0 голосов
/ 30 августа 2011

У меня тут довольно сложный вопрос.

Сейчас я запускаю на своей странице скрипт, который, когда пользователь нажимает на ссылку, использует jQuery .load() для загрузки изображения изпользовательский атрибут с именем 'imglocation'.

Все это прекрасно работает;Мой вопрос заключается в том, что ссылка, по которой щелкает пользователь, помещает в URL хеш-тег, который я хочу затем использовать для сопоставления со ссылкой на странице и запуска той же функции, как если бы пользователь щелкнул ее.Идея заключается в том, что когда вы отправляете кому-то ссылку, когда он открывает ее в своем браузере, функция запускается и показывает изображение, которое ему отправили.

Я пытался сделать следующее:

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 ]

1 голос
/ 30 августа 2011

Я думаю, вы хотите сделать что-то вроде следующего ...

$(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, но это должно делать то, что вы хотите.

0 голосов
/ 30 августа 2011

Большая часть того, что вы просите, должна быть тривиальной, за исключением части, в которой вы «эмулируете» щелчок по ссылке.

Ссылки по умолчанию, не имеют события клика; Есть множество способов получить подобное поведение, и вы должны использовать любой из этих вариантов, например, просто вызовите функцию, которую вызвало бы событие click, если истинный щелчок не нужен.

Но если вы действительно хотите эмулировать клик по ссылке, вам следует прочитать этот пост . Обратите внимание, что единственная причина, по которой вам когда-либо понадобится эмулировать щелчок, - это когда у вас есть несколько обработчиков событий, прикрепленных к этой ссылке, и вы не можете определить, что это за события.

...