I am trying to make a jquery function, and used below code, but not getting any output. Please tell me the process to make it.
<script type="text/javascript">
(function($){
$.fn.myplugin = function(){
alert(this.id);
};
})(jQuery);
$("#sample").myplugin();
</script>
5 Answers 5
You can see the working code here – http://jsfiddle.net/gryzzly/YxnEQ/
Note that you need an element with id "sample" to be present in your document when you are running the above code. Also, the this is pointing at jQuery object, so in order to get the elements id, you need to use either of the following:
alert( this[0].id );
or
alert( this.attr('id') );
The first is preferable, because it's faster.
1 Comment
Try this:
<script type="text/javascript">
$(document).ready(function(){
myplugin($("#sample"));
});
function myplugin(obj){
alert(obj.id);
}
</script>
1 Comment
Try this:
<script type="text/javascript">
$(document).ready(function(){
$("#sample").myplugin(this.id);
});
function myplugin(id) {
alert(id);
}
</script>
Comments
Try changing
alert(this.id);
to
alert(this[0].id);
As you're getting a jQuery object array.
Comments
alert(this.attr('id'));
this in that context is a jQuery object, not a raw DOM element.
scripttag placed below the HTML? if not, wrap the code with$(document).ready(function() { // here goes your code });