Hi Mali, Try this instead: I'm still fairly new to jQuery (1 week), so I'm sure there must be an even shorter way...
$(function() { $("#newText").click(function(){ $('#myList a').each(function(x){ if (!this.origText) { this.origText = $(this).text(); } arr=["My new text A","My new text B","My new text C","My new text D","My new text E","My new text F"]; $(this).text(arr[x]); }); }); $("#oldText").click(function(){ $('#myList a').each(function(x){ $(this).text(this.origText); //$('#dump').html(printProps(this, 'obj')); }); }); }); Regards Lee Mali wrote: > Hello, > I am a webdesigner who is new to javascript and this is my first week > of learning jquery. I enjoy it very much. I have a question about > array. > > What I am trying to do is to translate the text of each links into > other language by using array. I want the texts to be switched when > clicking "Give me new texts/ Give me old texts" buttons. > > What I did below is a straightforward way by selecting each <a> tag > directly and replace it with the new texts. Also, I would like to > 'clone' the original text so that I can switch it back. > > I am sure that there is a better way of doing this using ".each", > ".clone" and array technique. > The problem is that I don't know how to combine all these in the > logical way. > > Can someone give me a good direction please. Your answer will be > greatly appreciated > > > Here is my code > > > ------------------------------------------------------------------- > > <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" > "http://www.w3.org/TR/html4/loose.dtd"> > <html> > <head> > <script src="http://code.jquery.com/jquery-latest.js"></script> > <script language="javascript"> > > $(function() { > arr=["My new text A","My new text B","My new text C","My new text > D","My new text E","My new text F"]; > $("#newText").click(function(){ > $("#myList a:eq(0)").text(arr[0]); > $("#myList a:eq(1)").text(arr[1]); > $("#myList a:eq(2)").text(arr[2]); > $("#myList a:eq(3)").text(arr[3]); > $("#myList a:eq(4)").text(arr[4]); > $("#myList a:eq(5)").text(arr[5]); > }); > > }); > > </script> > > > </head> > <body> > > <input id="newText" type="button" value="Give me new texts" /> > <input id="oldText" type="button" value="Give me old texts" /> > > <ul id="myList"> > <li><a href="#">Text A</a></li> > <li><a href="#">Text B</a></li> > <li><a href="#">Text C</a></li> > <li><a href="#">Text D</a></li> > <li><a href="#">Text E</a></li> > <li><a href="#">Text F</a></li> > </ul> > > </body> > </html> > > > -----------------------------------------------------------------------------