我有一个来自网络的小插件来获取url params:
$.extend({
getUrlVars: function () {
var vars = [],
hash;
var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
for (var i = 0; i < hashes.length; i++) {
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
return vars;
},
getUrlVar: function (name) {
return $.getUrlVars()[name];
}
});
这从url中提取参数,例如:
http://mysite.com/page?slideshow=video&title=General Overview
我希望将标题参数匹配到与参数“title”具有相同标题的现有链接,并在找到匹配项时执行某些操作,在本例中概述:
<a href="/some-colorbox-page" class="colorbox" title="General Overview">View video</a>
var isSlideshow = $.getUrlVar('slideshow');
if (isSlideshow === 'video' && $('a.colorbox', '.video').length) {
var titleAttr = $('a.colorbox').attr('title');
var title = $.getUrlVar('title');
$(window).bind('load', function () {
if (titleAttr === title) {
$('a.colorbox', '.video').each(function()) {
$(this).trigger('click');
});
}
});
}
但这不起作用。
很快,当访问者访问链接(http://mysite.com/page?slideshow=video&title=General Overview)
时,我想触发一个事件,点击一个与url param“title”的值具有相同标题的元素。
请注意常规和概述之间的空白区域。这件事使查询有点复杂。我无法控制标题属性,但可以控制标题参数。
非常感谢任何帮助。
由于
答案 0 :(得分:1)
这个怎么样:
$(document).ready(function() {
var title = $.getUrlVar('title'),
slideshow = $.getUrlVar('slideshow');
if (slideshow === 'video') {
$('a[title="' + title + '"]').click();
}
});
答案 1 :(得分:1)
试试这个
title = decodeURIComponent(
(RegExp('title=' + '(.+?)(&|$)').exec(location.search)||[,null])[1]
);
$('a[title='+title).trigger('click');