views:

1087

answers:

1

I'm trying to take the id of a mouseover and strip out part of the ID, to leave me with just the core text I need to act on.

My mouseover will return an id such as "nevadaActiveArea", but I need to manipulate that string down to just "nevada". All the searches I've run speak to how to do this on the contents of some element, but I just need the text in a variable. How do I achieve this?

Final code based on Josh Stodola's answer:

$("area").mouseover(function(){
    var overID = $(this).attr("id");
    if(overID.indexOf("ActiveArea") >= 1){
        id = overID.substring(0, overID.indexOf("ActiveArea"));
    }else if(overID.indexOf("Hotspot") >= 1){
        id = overID.substring(0, overID.indexOf("Hotspot"));
    }

    $("#"+id).show();
});
+1  A: 

Given that all IDs end in "ActiveArea", you can do this using substring and indexOf...

$("#nevadaActiveArea").mouseover(function() {
  var id = $(this).attr("id");
  id = id.substring(0, id.indexOf("ActiveArea"));
  alert(id);
});
Josh Stodola
Should have mentioned this- I actually have two possible strings to remove. Some are nevadaActiveArea and some are nevadaHotspot. I tried running your on one and it worked perfectly, but when I run it back to back it broke it.
Gellpak
Used this to figure out the rest, edited my question with the answer
Gellpak