html onclick not working when passing in function -


i know there posts on this, none have quite fit i'm looking exactly.

i'm creating simple version of twitter. goal here click on user's handle (user link) , display tweets. i'm using html's onclick , passing in function, gets displayed: @[object object],[object object]: [object object],[object object] [object object],[object object]

the tweets wiped out, no tweets display. looks in js console i'm getting right objects (person's tweets), aren't displaying on page properly. know needs happen here? in right direction awesome.

here's relevant code:

  var tweetcount;   var newcount;    var initialtweets = function() {     tweetcount = streams.home.length;     for(var = 0; < tweetcount; i++) {       var tweet = streams.home[i];       displaytweet(tweet);     }   };    var extratweets = function() {     newcount = streams.home.length;     for(var = tweetcount; < newcount; i++) {       var tweet = streams.home[i];       displaytweet(tweet);     }     tweetcount = newcount;   };     var displaytweet = function(tweet) {     var $tweet = $('<div></div>');     var userlink = "<a href='#' onclick='displayusertweets("+ tweet.user +")'>" + tweet.user + "</a>";     $tweet.html('@' + userlink + ': ' + tweet.message + ' ' + tweet.created_at);     $('#tweetcontainer').prepend($tweet);   };    var displayusertweets = function(user) {     $('#tweetcontainer').html('<div></div>');     var $usertweets = $('<div></div>');     var usertweets = streams.users[user];     $usertweets.html('@' + usertweets.user + ': ' + usertweets.message + ' ' + usertweets.created_at);     $('#tweetcontainer').prepend($usertweets);   };    initialtweets();    $(document).ready(function(){     $('button').on('click', function() {       extratweets()     });   }); 

you passing user onclick handler here, should javascript function.

var userlink = "<a href='#' onclick='"+ tweet.user +"'>" + tweet.user + "</a>"; 

"tweet.user" should javascript function name below:

function showusertweets(username) {     // write logic here user tweets using username; } 

hence code below:

var userlink = "<a href='#' onclick='showusertweets(\""+ tweet.user +"\")'>" + tweet.user + "</a>"; 

note: tweet.user must return string value. object have convert object json string using json.strigify(object) method.

hope helps you!


Comments