关于jquery插件里值传递问题

caicaihui 2012-06-29 08:10:59
我要实现的效果如下,就是点击链接显示点击对象的文本

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=7" />
<title> new document </title>
<meta name="author" content="" />
<meta name="keywords" content="" />
<meta name="description" content="" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<script type="text/javascript">
(function($){
$.fn.myTest = function(options)
{
var defaults = {
d : "text"
}
var config = $.extend(defaults,options);

this.click(function()
{
alert("default : " + $(this).text());
return false;
})
}
})(jQuery);

$(function()
{
$(".test").myTest();
})
</script>
</head>
<body>
<a href="#" class="test">xxx</a> - <a href="#" class="test">yyy</a>
</body>
</html>



我想改成参数调用形式,在jquery插件引入一个参数,然后调用,但是显然下面的代码运行不了,如何改下下面的代码实现上面的效果

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=7" />
<title> new document </title>
<meta name="author" content="" />
<meta name="keywords" content="" />
<meta name="description" content="" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<script type="text/javascript">
(function($){
$.fn.myTest = function(options)
{
var defaults = {
d : "text"
}
var config = $.extend(defaults,options);

this.click(function()
{
alert("default : " + config.d);
return false;
})
}
})(jQuery);

$(function()
{
$(".test").myTest({d:$(this).text()});
})
</script>
</head>
<body>
<a href="#" class="test">xxx</a> - <a href="#" class="test">yyy</a>
</body>
</html>
...全文
139 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
timgzhu 2012-06-30
  • 打赏
  • 举报
回复
这么多代码。。想挣点分真不容易

alert("default : " + config.d); config.d从来没改变过,当然每次alert出来的结果都是一样的啊。

caicaihui 2012-06-29
  • 打赏
  • 举报
回复
不管值发生多少次变化,取值还是原来的值,应该是当前改变的值

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=7" />
<title> new document </title>
<meta name="author" content="" />
<meta name="keywords" content="" />
<meta name="description" content="" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<script type="text/javascript">
(function($){
$.fn.myTest = function(options)
{
var defaults = {
d : "text"
}
var config = $.extend(defaults,options);

this.click(function()
{
$(this).text(parseInt(Math.random()*100));
alert("default : " + config.d);
return false;
})
}
})(jQuery);

$(function()
{
$(".test").each(function()
{
$(this).myTest({d:$(this).text()});
});
})
</script>
</head>
<body>
<a href="#" class="test">50</a> - <a href="#" class="test">40</a>
</body>
</html>

caicaihui 2012-06-29
  • 打赏
  • 举报
回复
谢谢楼上的,不是这个意思,我的意思是当点击第一次的时候,是取的点击对象的text值,当第二次点击的时候,text的值发生了变化,但是取出的值还是原来的,应该取出的是发生改变后的值
001007009 2012-06-29
  • 打赏
  • 举报
回复
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=7" />
<title> new document </title>
<meta name="author" content="" />
<meta name="keywords" content="" />
<meta name="description" content="" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<script type="text/javascript">
(function($){
$.fn.myTest = function(options)
{
var defaults = {
d : "text"
}
var config = $.extend(defaults,options);

this.click(function()
{
alert("default : " + config.d);
alert("now : " + $(this).text());
$(this).text("hhhh");
return false;
})
}
})(jQuery);

$(function()
{
$(".test").each(function()
{
$(this).myTest({d:$(this).text()});
});
})
</script>
</head>
<body>
<a href="#" class="test">xxx</a> - <a href="#" class="test">yyy</a>
</body>
</html>
caicaihui 2012-06-29
  • 打赏
  • 举报
回复
谢谢楼上的,解决了一个问题,还有个小问题,当数值发生改变后,取到的值还是原来的,请问如何解决这个问题


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=7" />
<title> new document </title>
<meta name="author" content="" />
<meta name="keywords" content="" />
<meta name="description" content="" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<script type="text/javascript">
(function($){
$.fn.myTest = function(options)
{
var defaults = {
d : "text"
}
var config = $.extend(defaults,options);

this.click(function()
{
alert("default : " + config.d);
$(this).text("hhhh");
return false;
})
}
})(jQuery);

$(function()
{
$(".test").each(function()
{
$(this).myTest({d:$(this).text()});
});
})
</script>
</head>
<body>
<a href="#" class="test">xxx</a> - <a href="#" class="test">yyy</a>
</body>
</html>
001007009 2012-06-29
  • 打赏
  • 举报
回复
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=7" />
<title> new document </title>
<meta name="author" content="" />
<meta name="keywords" content="" />
<meta name="description" content="" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<script type="text/javascript">
(function($){
$.fn.myTest = function(options)
{
var defaults = {
d : "text"
}
var config = $.extend(defaults,options);
this.click(function()
{
alert("default : " + config.d);
return false;
})
}
})(jQuery);

$(function()
{
$(".test").each(function(){
$(this).myTest({d:$(this).text()})
});
})
</script>
</head>
<body>
<a href="#" class="test">xxx</a> - <a href="#" class="test">yyy</a>
</body>
</html>

87,921

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧