2011-01-03 10 views
0

Ich denke, ich verstehe, warum es nicht funktioniert. Aber ich weiß noch nicht genug, um es zum Laufen zu bringen.Hilfe bekommen den Titel eines Anchor-Tags mit jquery

Zunächst erstelle ich eine Liste mit JQuery

var imageNumber = 42; 
for (imageNumber = 1; imageNumber <= 42; imageNumber++){ 
    $("#thumbReelList") 
    .append('<li><a title="worksImage' 
    + imageNumber 
    +'" style="background: no-repeat center url(/worksImages/THMworksImage' 
    + imageNumber 
    + '.jpg)" href="#"></a></li>'); 
} 

Dann, wenn einer dieser Links geklickt wird packe ich es Titel und verwenden Sie diese Titel als jpg Namen für das Hintergrundbild von einem anderen DIV.

$("#thumbReelList > li > a").click(function(){ 
    var imageName = $(this).attr("title"); 
    $("#backgroundImageBox").css({"background-image": "url(/worksImages/"+ imageName +".jpg)"}); 
}); 

Das Problem scheint nach Firebug werden, dass, wenn ich diese „Klick“ Funktion aufrufen, in dieser Zeit hat Javascript noch nicht erzeugt jede „title“ -Attribut für die Anker.

Wenn ich einen „Alarm“ für die imagename Variable gibt es NICHTS T_T

Antwort

0

Es stellt sich heraus, dass ich recht hatte, so wechselte ich nur die Titel-IDs und hier ist der Arbeits Code


var imageNumber = 42; 
for (imageNumber = 1; imageNumber <= 42; imageNumber++){ 
    $("#thumbReelList") 
    .append('<li><a id="worksImage' 
    + imageNumber 
    +'" style="background: no-repeat center url(/worksImages/THMworksImage' 
    + imageNumber 
    + '.jpg)" href="#"></a></li>'); 
} 


$("#thumbReelList > li > a").click(function(){ 
    //alert("the id of this anchor is = "+ $(this).attr("id")); 
    $("#backgroundImageBox").css({"background-image": "url(/worksImages/"+ $(this).attr("id") +".jpg)"}); 
}); 
1

denke ich, ein Leerzeichen vor dem style-Attribute in der Zufügen-Funktion fehlt. Try this:

var imageNumber = 42; 
for (imageNumber = 1; imageNumber <= 42; imageNumber++){ 
    $("#thumbReelList") 
    .append('<li><a title="worksImage' 
    + imageNumber 
    +' " style="background: no-repeat center url(/worksImages/THMworksImage' 
    + imageNumber 
    + '.jpg)" href="#"></a></li>'); 
} 
+0

Vielen Dank für die schnelle Antwort, aber ... no go . Ich glaube, ich habe das Problem gefunden. Ich benutze ein jquery "tooltip" -Plugin, das aussieht wie es durch alle Tags geht und löscht ihr "title" -Attribut, so dass es es durch einen coolen originalen Tooltip ersetzen kann. –

+0

Oh .. Gut ... Kann verwendet werden Rel-Attribut des Anchor-Tags, um die Bild-URL zuzuordnen und sie dann anstelle des Titels zu verwenden. – Chandu