在jQuery选项卡脚本中通过url定义所选选项卡
Defining selected tab by url in jQuery tab script
我有一个jQuery搜索脚本,它使用选项卡为用户定义他们想要使用的搜索类型。当用户进行搜索时,会创建一个类似于#类型/查询/的URL。如果URL中有#type,则与该类型对应的选项卡将被选中。但是,如果查询也在url中(#类型/query/),则不选择选项卡。使用下面的代码,我如何使它忽略/查询/之后的所有内容?我希望你能理解我所描述的。
我的jQuery脚本是:$(document).ready(function () {
$('[id^=type_]').click(function () {
type = this.id.replace('type_', '');
$('[id^=type_]').removeClass('selected');
$('#type_' + type).addClass('selected');
return false;
});
if (window.location.hash != "") {
url = window.location.hash.replace('#', '');
$('#type_' + url).click();
} else {
$('#type_search').click();
}
$('#query').keyup(function () {
var query = $(this).val();
var url = '/' + type + '/' + query + '/';
window.location.hash = '' + type + '/' + query + '/';
document.title = $(this).val() + ' - My Search';
$('#results').show();
if (query == '') {
window.location.hash = '';
document.title = 'My Search';
$('#results').hide();
}
$.ajax({
type: 'GET',
url: url,
dataType: 'html',
success: function (results) {
$('#results').html(results);
}
});
});
var textlength = $('#query').val().length;
if (textlength <= 0) {
$('#query').focus();
} else {
$('#query').blur();
}
});
我想出的稍微笨拙的方法是:
$('a').each(
function(){
var url = this.href;
var hashAt = url.indexOf('#');
var nextSlashAt = url.indexOf('/',hashAt);
var url = url.substring(0,nextSlashAt);
var tab = url.substring(hashAt);
$(this).text(url + " (" + tab + ").");
});
JS Fiddle demo.
显然,不是遍历a
元素,而是将url
变量分配给window.location;
,但从那时起,我认为它应该很容易适应您的需求。
引用:
-
indexOf()
. -
substring()
.
相关文章:
- 通过js在新选项卡中有条件地打开url
- 根据select选项元素将表单重定向到不同的URL
- 一次又一次地在新的和相同的选项卡中打开一个url
- 如何在现有的浏览器选项卡中打开url
- Google Script HtmlService,通过多个选项卡复制URL变量
- 使用Javascript根据URL中的关键字隐藏下拉选项
- 如何在新选项卡中而不是在新窗口中打开URL
- 如何重定向当前选项卡'Chrome扩展中的url
- 访问url[材质Ui+选项卡]时,Angular Ui路由器未加载视图
- 在Chrome中的适当选项卡/窗口中打开URL
- 如何使用jQuery更改当前URL并在单击时打开新选项卡
- 当用户在选择框中选择选项时,使用window.location.href重定向用户只会更改导航器中URL的最后一位
- 根据选择选项元素将表单重定向到不同的URL,并在电子邮件中获取表单详细信息
- 获取当前URL,替换部分路径名,然后在空白选项卡中打开
- 从Javascript中的Chrome扩展获取选项卡url
- 在浏览器操作中修改当前选项卡的URL的TLD
- 使用javascript在chrome浏览器的新选项卡中以程序方式打开URL
- 使用 Javascript 根据 URL 哈希设置所选选项
- 如何从用户选项url匹配在Content_Script
- Firefox插件"RequirementError:选项"url"是无效的!”当发出HT