$('a.c_update').each(function() {
var $a = $(this);
var q = $a.attr('id');
$a.bind("click", function() {
});var q = $a.attr('id');
$a.bind("click", function() {
doStuff('getitem',q); // hmm, I don't like this variable much...
return false;
});$('a.c_update').each(function() {
var $a = $(this);
$a.bind("click", function() {
});$a.bind("click", function() {
doStuff('getitem', $a.attr('id');); // there, no need
return false;
});$('a.c_update').each(function() {
var $a = $(this);
$a.bind("click", function() { // wait, if I've bound my event to the link, why bother keep it as a variable before ?
});$a.bind("click", function() { // wait, if I've bound my event to the link, why bother keep it as a variable before ?
doStuff('getitem', $a.attr('id');); // there, no need
return false;
});$('a.c_update').each(function() {
$(this).bind("click", function() { // feels better
});doStuff('getitem', $(this).attr('id'););
return false;
});$('a.c_update').each(function() { // hey, why bother looping, I could do it all with the .bind() function on the whole collection anyway
$(this).bind("click", function() {
});doStuff('getitem', $(this).attr('id'););
return false;
});$('a.c_update').bind("click", function() { // how sleaker
doStuff('getitem', $(this).attr('id'););
return false;
});So, basically you can reduce #1 to #2 breaking nothing, without any significan loss (in fact I think it's a net gain).
Michel Belleville
2009/11/27 Bruce MacKay <thomasbaine@gmail.com>
Hello folks,
I have some html returned via ajax that contains several 'a' tags to
which I am binding a function.
Both of the following methods does the job, but my perception of other
posts about this general practice from more wiser folk than me is that
the first method is the "better" method. Is this the case? Which is
the "best" method - and more importantly, why?
method #1
$('a.c_update').each(function() {
var $a = $(this);
var q = $a.attr('id');
$a.bind("click",function() {doStuff('getitem',q);return
false;});
});
method #2
$('a.c_update').bind("click",function() {doStuff
('getitem',this.id);return false;});
Thanks,
Bruce
No comments:
Post a Comment