Ich versuche, eine Klasse anders als andere (mit dem gleichen Klassennamen) zu stylen, basierend darauf, ob sie einen bestimmten Text enthält oder nicht. Ich habe es geschafft, Class hinzuzufügen, aber das Problem, dem ich jetzt gegenüberstehe, ist die Master-CSS-Klasse, die es überschreibt. Code zu erhalten:Erzwingen Sie eine Div-Klasse eine andere CSS-Klasse mit jQuery trotz doppelter Namen zu verwenden?
HTML
<div id="master">
<div>
<div class="attributes">
<a href="#">Not important</a>
</div>
</div>
<div>
<div class="attributes">
<a href="#">Not important</a>
</div>
</div>
<div>
<div class="attributes">
<a href="#">Important Text and Other Stuff</a>
</div>
</div>
<div>
<div class="attributes">
<a href="#">Not important</a>
</div>
</div>
</div>
Original-CSS
#master div.attributes {
float: left;
font-size: 12px;
margin-top: 0px !important;
width: 330px;
clear: both;
}
.attributes {
color: #58585a !important;
font-size: 14px;
margin: -10px 0 0 !important;
}
jQuery verwendet
$('div.attributes:contains("Important Text")').addClass('attributes2');
CSS Hinzugefügt
.attributes2
{
clear: none;
float: right;
font-size: 12px;
margin-top: 0;
width: 330px;
}
So erfolgreich hinzugefügt .attributes2 und nutzt sie, aber die #master div.attributes CSS-Klasse ist dies overruling. Kann jemand daran denken? Ich habe unzählige Google & Stack-Suchen, kein Glück ... Ich sollte erwähnen, ich habe nicht die Möglichkeit, die HTML-ID & Klassennamen zu bearbeiten. Aber ich kann die css & jQuery bearbeiten.
Vielen Dank.
Vielen Dank, erstaunlich! Ja, ich muss jetzt mehr über CSS lesen. Nochmals vielen Dank, das war es. – Dware