Zuerst; Beispiel für HTML-Code:
<div class"grap1"> some conetent</div>
<div class"grap2"> some conetent</div>
<div class"grap3"> some conetent</div>
<div class"blabla">some content></div>
Und jetzt möchte ich Divs auswählen, die Klasse enthält “grap” Wort irgendwo ist Klassenname (also in diesem Fall die ersten drei Divs). Wie kann ich das erreichen?
Das funktioniert nicht: http://api.jquery.com/attribute-contains-word-selector/
Verwenden Sie die Attribut enthält Selektor:
$('div[class*="grap"]')
Abhängig von Ihrem speziellen Anwendungsfall können Sie den Attributpräfix-Selektor ausprobieren:
var $grapDivs = $('div[class|="grap"]');
Aus Ihren Beispieldaten geht hervor, dass “grap” der Klasse immer vorangestellt ist. Wenn dies der Fall ist, ist dies möglicherweise das, was Sie möchten. Wenn “grap” irgendwo in der Klasse stehen kann und nicht nur am Anfang, verwenden Sie stattdessen *=.
Verwenden Sie den Selektor “Attribut enthält”: http://api.jquery.com/attribute-contains-selector/
Der Selektor “Attribut enthält Wort” funktioniert nicht, da er laut Dokumentation Elemente findet, bei denen das angegebene Attribut das angegebene Wort enthält durch Leerzeichen begrenzt.
Sie möchten die “Attribut enthält Selektor“, nicht das “Attribut enthält WORD-Selektor”, auf das Sie verlinkt haben.
Was Sie suchen, ist die “Attribut enthält Selektor”
Sehen Sie hier ein Beispiel http://jsfiddle.net/CsvUY/
14040500cookie-checkWählen Sie div (oder ein anderes Element) aus, dessen Klasse beispielsweise “grap” (oder ein anderes angegebenes Wort) enthältyes
Der Selektor „Attribut enthält Wort“ funktioniert nicht, da Ihr „Wort“ nicht durch Leerzeichen getrennt ist.
– FtDRbwLXw6
11. September 2011 um 13:12 Uhr
Diese Frage wurde schon einmal gestellt, siehe stackoverflow.com/questions/4106958/…
– shiying yu
11. September 2011 um 13:16 Uhr