jquery 参数传递和赋值问题
代码如下:<!DOCTYPEhtml><html><head><scriptsrc="//ajax.googleapis.com/ajax/libs/jquery/1.8...
代码如下:
<!DOCTYPE html>
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("#btn1").click(function(){
$("#test1").text(function(i,origText){
return "Old text: " + origText + " New text: Hello world! (index: " + i + ")";
});
});
$("#btn2").click(function(){
$("#test2").html(function(i,origText){
return "Old html: " + origText + " New html: Hello <b>world!</b> (index: " + i + ")";
});
});
});
</script>
</head>
<body>
<p id="test1">这是<b>粗体</b>文本。</p>
<p id="test2">这是另一段<b>粗体</b>文本。</p>
<button id="btn1">显示旧/新文本</button>
<button id="btn2">显示旧/新 HTML</button>
</body>
</html>
代码的目的是点击按钮显示以前的内容加上后加的内容
我的问题是
$("#test1").text(function(i,origText){
return "Old text: " + origText + " New text: Hello world! (index: " + i + ")";
});
中的“origText”变量的内容是从哪里来的,我没看到有地方把原来的内容作为参数传递进去啊 展开
<!DOCTYPE html>
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("#btn1").click(function(){
$("#test1").text(function(i,origText){
return "Old text: " + origText + " New text: Hello world! (index: " + i + ")";
});
});
$("#btn2").click(function(){
$("#test2").html(function(i,origText){
return "Old html: " + origText + " New html: Hello <b>world!</b> (index: " + i + ")";
});
});
});
</script>
</head>
<body>
<p id="test1">这是<b>粗体</b>文本。</p>
<p id="test2">这是另一段<b>粗体</b>文本。</p>
<button id="btn1">显示旧/新文本</button>
<button id="btn2">显示旧/新 HTML</button>
</body>
</html>
代码的目的是点击按钮显示以前的内容加上后加的内容
我的问题是
$("#test1").text(function(i,origText){
return "Old text: " + origText + " New text: Hello world! (index: " + i + ")";
});
中的“origText”变量的内容是从哪里来的,我没看到有地方把原来的内容作为参数传递进去啊 展开
3个回答
展开全部
这个是关于html使用回调函数的,在jquery中,使用$("***").html(function(){}),其中的function可以带参数,第一个参数是你使用***是匹配出来的元素的index,第二个参数是你使用***匹配出来的控件的.text()内容,也就是和你的命名没有关系的,你可以写成:
$("#text1").html(function(index,text){});
如果你的$("#text1")改成$("p")的话,由于你页面有两个<p>,那么对应的,第一个index=0,第二个index=1,text也自然就是两个P各自对应的内容了,附件中有改动后的东西,你点击一下就明白了
追问
你的意思是说 $("#text1").html(function(index,text){}); 中的function(index,text)的参数“text”不用在外边把它原来的内容传进去,它就会默认取得原来该控件的内容? 就跟内置对象差不多吗?
追答
是的丫~~~就和index一样,都是jquery自动计算好的了
展开全部
test1的值,这种你不知道它是什么你就alert(origText)你就知道了;它的意思就是在test1或者test2原先的值前面加上"Old text: ",后面加上" New text: Hello world! (index: " + i + ")"
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的这个变量时全局变量还是局部变量啊!
追问
我贴出来的的代码就是全部代码了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询