 <p>Rather than retrieving the <code>id</code> of the first <code>.link</code> element within the <code>mouseover</code> event listener, you need to get the <code>id</code> of the element you are mousing over.</p> <p>Within the event listener, <code>this</code> refers to the element that is currently being moused over, therefore you would access the <code>id</code> using <code>$(this).attr("id")</code> or <code>this.id</code>:</p> <p><a href="http://jsfiddle.net/b7m5L332/" rel="nofollow"><strong>Example Here</strong></a></p> <pre><code>$(".link").on('mouseover', function () { $("#header").html("&lt;h1&gt;I mousedover on " + this.id + "&lt;/h1&gt;"); }); </code></pre> <p>It's worth pointing out that <code>$(".link")</code> returns a collection (a jQuery object) of elements. When accessing the <code>id</code> using <code>$(".link").attr("id")</code>, you are accessing the <code>id</code> of the <em>first</em> element within the jQuery object. That's why you text would always say 'london'.</p>