我想创建jquery插件&开始创建一个示例jquery插件......但是
$(this).css('color','blue');
alert(this.id);
不起作用......
jQuery.fn.changeTextColor = function() {
alert("xx"); //this works
return this.each(function() {
$(this).css('color','blue');
alert(this.id); //both the 2 statements don't work..
});
};
<script type = "text/javascript" src="jquery-1.7.1.js"></script>
<script type = "text/javascript" src="jquery.myPlugin.js"></script>
<script>
$('#mypara').changeTextColor();
</script>
</head>
<body>
<p id="mypara">dsfdsfdsf</p>
</body>
答案 0 :(得分:1)
(function( $ ) {
$.fn.changeTextColor = function() {
alert("xx"); //this works
return this.each(function() {
$(this).css('color','blue');
alert(this.id);
});
}
}(jQuery));
然后致电:
$(document).ready(function() {
$('#mypara').changeTextColor();
});
有一个小提琴;) http://jsfiddle.net/nmkeD/
答案 1 :(得分:1)
您的脚本在页面解析#mypara
之前运行。因此,您的选择器无法找到它。尝试在文档就绪事件上执行此操作:
<script>
$(function() {
$('#mypara').changeTextColor();
});
</script>
其中$(function() { ... });
是“当文档满载运行时”的简写