each(callback)与each(object[, callback])

each(callback):每个匹配的元素都会执行该函数,如下例子:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>each(callback)函数</title>
		<script src="js/jquery-3.3.1.js"></script>
	</head>
	<body>
		<input type="checkbox" name="hobby" value="1" checked="checked"/>足球
		<input type="checkbox" name="hobby" value="2"/>篮球
		<input type="checkbox" name="hobby" value="3" checked="checked"/>乒乓球
		<script>
			var result = "";
			$("input[type=checkbox]").each(function() {
				if(this.checked){
					result =result+ ","+this.value;
				}
			});
			if(result != ""){
				result = result.substr(1);
			}
			console.log(result);
		</script>
	</body>
</html>

注意:参数实参所指函数中的this 指代的是 DOM 对象而非 jQuery 对象; 如果在函数中使用jQuery对象,可以通过 $(this) 方式进行转换。
each(object[, callback]):用于遍历对象(可以是jQuery对象)和数组,其中object表示待遍历的jQuery对象或数组;callback表示每个成员/元素执行的回调函数,如下例子:
1、遍历数组:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>遍历数组</title>
		<script src="js/jquery-3.3.1.js"></script>
	</head>
	<body>
		<script>
			var names = ["Tom","Jim"];
			$.each(names, function(index, value){
				console.log(index + ":" + value ); 
			});
		</script>
	</body>
</html>

2、遍历jQuery对象:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>遍历jQuery对象</title>
		<script src="js/jquery-3.3.1.js"></script>
	</head>
	<body>
		<input type="checkbox" name="hobby" value="1" checked="checked"/>足球
		<input type="checkbox" name="hobby" value="2"/>篮球
		<input type="checkbox" name="hobby" value="3" checked="checked"/>乒乓球
		<script>
			var result = "";
			$.each($("input[type=checkbox]"), function(){
				if(this.checked){
					result =result+ ","+this.value;
				}
			});
			if(result != ""){
				result = result.substr(1);
			}
			console.log(result);
		</script>
	</body>
</html>

each(callback)与each(object[, callback])区别:
1、调用对象不同:前者必须使用jQuery对象调用;后者只能使用$调用;
2、遍历对象不同:前者遍历的是jQuery对象;后者还可以遍历数组等非jQuery对象;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
router.beforeEach is a method in Vue Router that is used to register a global navigation guard. This method is called before each route navigation and allows you to control access to the routes based on certain conditions. For example, you can use this method to check if the user is authenticated before allowing access to protected routes. If the user is not authenticated, you can redirect them to the login page. The syntax for using router.beforeEach is as follows: ``` router.beforeEach((to, from, next) => { // your navigation guard logic here }) ``` The first parameter is a function that takes three arguments: - `to`: the route object of the destination route - `from`: the route object of the current route - `next`: a callback function that must be called to proceed with the navigation Inside the function, you can write your navigation guard logic and call the `next` function to proceed with the navigation or to redirect the user to a different route. Here's an example of using router.beforeEach to check if the user is authenticated before allowing access to protected routes: ``` router.beforeEach((to, from, next) => { const isAuthenticated = checkAuthentication() // your authentication logic here if (to.meta.requiresAuth && !isAuthenticated) { next({ name: 'login' }) // redirect to login page } else { next() // proceed with the navigation } }) ``` In this example, we're checking if the destination route requires authentication (`to.meta.requiresAuth`) and if the user is authenticated (`isAuthenticated`). If the user is not authenticated, we're redirecting them to the login page (`next({ name: 'login' })`). If the user is authenticated, we're proceeding with the navigation (`next()`).

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值