2009-11-18 2 views
12

Ich habe diese Code-Struktur, und ich möchte nach span suchen, die Text hat "Rückerstattung Offline" und dann fügen Sie die Klasse hide_button zum übergeordneten Tag "button".Wie finden Sie Schaltflächen mit spezifizierten Text im Inneren mit jquery?

im Grunde möchte ich die Schaltfläche mit "Refund Offline" Text ausblenden.

<button class="scalable save submit-button" type="button" id="id_b5295d98b1d6eb3012e2dfd801ede120"> 

<span>Refund Offline</span> 

</button> 

Mit jQuery

Dank im Voraus

Antwort

1
$('button span').each (function() { 
    if($(this).text() === "Refund Offline") 
    { 
     $(this).parent().addClass ('hide_button'); 
    } 
}); 
18
$("button > span:contains('Refund Offline')").parent().addClass("hide_button"); 
+0

Ist das eine genaue Übereinstimmung für die Zeichenfolge ‚Refund Offline-‘? – rahul

+0

Nein, ist es nicht. Es entspricht allen Bereichen, die: sind Kind einer Schaltfläche und enthalten die Zeichenfolge "Offline refundieren" – jitter

+1

Sie können einen Funktionsaufruf speichern, indem Sie die Schaltfläche "$ (": hat (> span: enthält ("Rückerstattung offline)))") .addClass ('hide_button'); 'Aber wer weiß, wie viele zusätzliche Anrufe hinter den Kulissen gemacht werden. –

2

die Sie interessieren,

$('button span:contains("Refund Offline")').parent().addClass("hide_button"); 
12

Wenn Ihr Text nicht, die in einer Spanne a Kind des Hinterns auf (oder Sie sich nicht 100% sicher, es ist) verwenden

$(":contains('Refund Offline')").closest('button').addClass("hide_button"); 

.closest kehrt am nächsten button Element

+1

Es scheint mir, dass der erste Selektor jeden einzelnen Knoten auf der Seite betrachten wird. Ist das korrekt? Wenn ja ..... –

+0

Ja. Es sucht nach jedem Knoten und prüft auf Text. Du kannst es eingrenzen, indem du etwas wie "button: contains" '... hinzufügst. Die Grundidee war zu sagen, dass wenn du nicht sicher bist, ob sich ein Text innerhalb der Schaltfläche> span befindet, du auf diese Weise nach weiteren Knoten suchen kannst. Natürlich sollten Sie versuchen, einen spezifischeren Selektor zu schreiben. Wenn du kannst. – NilColor

Verwandte Themen