模拟jquery hash 写了个自己的版本

本文介绍了一个jQuery插件,该插件允许开发者轻松地设置、获取和删除URL哈希中的参数值。通过使用此插件,可以简化单页面应用中对URL哈希进行读写的需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

;(function($) {
	$.extend({
		hash : function(name , value) {
			function isString(str) {
				return typeof str == 'string' && Object.prototype.toString.call(str) === '[object String]';
			}
			if(!isString(name) || $.trim(name) == '') return;
			var reg = new RegExp("[&|#]" + name + "=([^&]*)" , "i");
			var hash = location.hash;
			if(value || value === null) {
				hash = hash.replace(reg , '').replace(/^[#|&]/ , '');
				if(value !== null) {
					//set a hash
					location.hash = hash == '' ? name + "=" + encodeURIComponent(value) : hash + "&" + name + "=" + encodeURIComponent(value) ; 
				} else {
					//delete a hash
					location.hash = hash;
				} 
			} else {
				//get a hash value
				if(reg.test(hash)) {
					return decodeURIComponent(RegExp.$1);
				} else {
					return '';
				}
			}
		}
	});  
})(jQuery);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值