2016-09-27 3 views
1

Ich benutze das folgende für eine Weile, um Text in einem TD zu finden, und füge ein Bild hinzu ... aber einige der Benutzernamen (Text im td) sind zu lang, also sind sie abgeschnitten (12 Zeichen Grenze). Was ich tun muss, ist den abgekürzten Titel zu finden, der der volle Text meiner Gewinnervariablen wäre, anstatt nur Text.jquery finde Abkürzungstitel in der Tabelle td

var winner = "<?php echo $winner; ?>"; 
if (winner == 0){ 
} else { 
    $("td:contains('<?php echo $winner; ?>')").each(function(){ 
     $(this).append('<br><br><img src="images/trophy/gold.png" style="width: 40px; margin-left: 30px">'); 
    }); 
}; 
+0

ist Ihr $ Gewinner PHP-Variable in voller Länge? Also müssen Sie es auf 12 char trimmen, um es gegen den Namen td zu überprüfen? –

+1

Sorry, ich bin ein bisschen verwirrt - Ihre PHP-Variable '$ winner' ist der * abgekürzte * 12-stellige Text oder der vollständige Text? – Santi

+0

Ich entschuldige mich ... die Variable ist der Volltext, der 12-stellige Text ist genau das, was auf dem Tisch auf der Seite angezeigt wird. Wenn der Titel angezeigt wird, erscheint der vollständige Text, egal wie lang. – enjoimark

Antwort

1

Aktualisieren Sie Ihren Code nur die ersten 12 Zeichen der PHP-Variablen zu berücksichtigen:

var winner = "<?php echo $winner; ?>"; 
var winner_short = "<?php echo substr($winner,0,12); ?>"; 
if (winner == 0){ 
} else { 
    $("td:contains('"+winner_short+"')").each(function(){ 
     $(this).append('<br><br><img src="images/trophy/gold.png" style="width: 40px; margin-left: 30px">'); 
    }); 
}; 

Ist dies nicht auch tun funktioniert kann:

var winner = "<?php echo $winner; ?>"; 
if (winner == 0){ 
} else { 
    $("td:contains('<?php echo substr($winner,0,12); ?>')").each(function(){ 
     $(this).append('<br><br><img src="images/trophy/gold.png" style="width: 40px; margin-left: 30px">'); 
    }); 
}; 
+0

Das wird nicht funktionieren, da 'winner_short' eine Variable ist und Sie diese in den Selektor aufnehmen. Sie müssten die Variable in den Selektor verketten. –

+0

@MikeMcCaughan afaik die erste Version des Codes funktioniert gut (zumindest basierend auf meiner Erfahrung. Wie auch immer ich die andere Version hinzugefügt :) –

+0

Die erste Version sollte '$ (" td: contains ('"+ winner_short +' ') "). jeder ...". Das ist es was ich meinte. –