ugrás a tartalomhoz

Hogyan tudom meg az ID-t?

zoliky · 2009. Júl. 7. (K), 13.51
Hello,
Van egy HTML kod:

  <ul>
    <li><a href="#" title="one">Home</a><span id="one"></span></li>
    <li><a href="#" title="two">About</a><span id="two"></span></li>
    <li><a href="#" title="three">News</a><span id="three"></span></li>
    <li><a href="#" title="four">Servives</a><span id="four"></span></li>
    <li><a href="#" title="five">Clients</a><span id="five"></span></li>
    <li><a href="#" title="six">Contact</a><span id="six"></span></li>
  </ul>
A Span ID-jet a kovetkezo keppen tudom meg JavaScript (jquery) alatt:

$(document).ready(function() {
  $('ul li a').hover(function() {
      
      // A span ID-t kiszedem a title attribute segitsegevel.
      var idName = $(this)[0].title;
      
      // A ID nevet felhasznalom es a SPAN-on animaciot vegzek
      $('#' + idName).stop().animate({
        marginTop: "-30px",
      }, 600);
    },
    function() {
      // code 2
    });
});
Szerintem a $(this)[0].title nem egy jo megoldas, mert ha egyik a ketto kozul valtozik (title vagy span id) nem mukodik a szkript.

Minek a title tag ha kiszedhetnem egyenesen a SPAN-bol az ID-t ? Meg tudnam csinalni, hogy egyenesen a SPAN-bol jojon ki az ID neve?
 
1

Ha jól értem

Kevlar · 2009. Júl. 7. (K), 14.10
Ha jól értem a problémát, akkor így:

var idName = $(this).siblings('span').attr('id');
A siblings az adott elem "testvéret" veszi, ebben az esetben konkrétan csak a span tag(ek)et.
2

Ok

zoliky · 2009. Júl. 7. (K), 14.12
Kozben talaltam en is egy megoldast:

var idName = $(this).next().attr("id");
Kevlar: lehet, hogy a te peldad jobb, mert nalam ha valtozik a kod es a next() nem egy span-ba utkozik nem fog mukodni a szkript.

Koszi!
3

Abból a szempontból jobb...

Kevlar · 2009. Júl. 7. (K), 14.17
Abból a szempontból jobb, hogy így biztosan span-t vesz, nem a következő elemet.
Ha viszont bekerül még egy span mellé, akkor érdemes kiegészíteni pl így:
var idName = $(this).siblings('span:first').attr('id');
Ekkor a legelső kerül kiválasztásra. De ha csak egy span lesz, akkor felesleges.

Nincs mit.