首页 > 新人请教一个简单的问题

新人请教一个简单的问题

<html>
<head>
<script type="text/javascript" src="/jquery/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
  $("button").click(function(){
    $("p").append(function(n){
      return "<b>This p element has index " + n + "</b>";
    });
  });
});
</script>
</head>

<body>
<h1>This is a heading</h1>
<p>This is a paragraph.</p>
<p>This is another paragraph.</p>
<button>在每个 p 元素的结尾添加内容</button>
</body>
</html>
$("p").append(function(n){
      return "<b>This p element has index " + n + "</b>";

请问上面一段代码中的n代表什么意思,是直接定义一个变量还是什么的


append方法里传了一个匿名函数 ,n只是一个局部变量


n不是变量而是函数参数,属于这个函数对象的一种特殊变量


$("p").append(function(n){

  return "<b>This p element has index " + n + "</b>";
  
  这里选择标签P,append就是在字符串后面增加的意思,里面的function返回的是<b>This p element has index " + n + "</b>,而这个返回就是当做了append()方法里的参数,也就是在“p”标签后面加上<b>This p element has index " + n + "</b>
  如<p>This is a paragraph.</p>这句就变成了<p>This is a paragraph.<b>This p element has index " + n + "</b></p>当然这个n也是一个传入的参数,具体看函数的给定

n是append方法定义时的callback里可接收到参数。


$.append(function(n){
  
});

这个方法的n你可以理解为index,从0开始的,详见jqueryApi Append


首先那是一个回调函数,其次这个n是回调函数的一个参数。


我来解答一下这个问题,这个是关于回调函数的问题,回调函数的具体用法请参考这里:链接描述,里面有关于我对于回调函数的回答

首先append是一个方法,这个方法属于$('p')对象,然后你$('p').append(传入一个参数);
你在这里给append传入一个函数作为append使用的参数,然后append这个方法使用你这个回调函数,然后这个值是append这个方法传入给这个回调函数使用的。


n这个参数写做index,或者会让你更加的清晰,明白,其实这个n指的是在匹配集合里的位置(索引位置),其实在官网文档里查一下就可以了


n是函数参数,是jQuery库调你的回调函数时传过来的。


请参考: jQuery 中 append方法的说明

【热门文章】
【热门文章】