Попробуйте это... для выбора опции с текстом myText
$("#my-Select option[text=" + myText +"]").attr("selected","selected");
позволяет сказать, что у вас есть следующее:
<ul>
<li></li>
<li>
<ul>
<li></li>
<li></li>
</ul>
</li>
<li></li>
<ul>
Теперь, если вам НЕ нужна совместимость с IE6 (ссылка на Quirksmode ), вы можете иметь следующий css
ul li { background:#fff; }
ul>li { background:#f0f; }
>
является прямым дочерним оператором, поэтому в этом случае только первый уровень li
s будет фиолетовым.
Надеюсь, это поможет
Если внутренний объект наследует свойства вы не хотите, вы всегда можете установить для них то, что вам нужно (т. е. свойства являются каскадными, и поэтому вы можете перезаписать их на более низком уровне).
например
.li-a {
font-weight: bold;
color: red;
}
.li-b {
color: blue;
}
В этом случае «li- b "по-прежнему будет жирным, даже если вы этого не хотите. Чтобы сделать его не жирным, вы можете сделать:
.li-b {
font-weight: normal;
color: blue;
}
Using the wildcard * selector in CSS to override inheritance for all attributes of an element (by setting these back to their initial state).
An example of its use:
li * {
display: initial;
}
Короче говоря, здесь невозможно делать то, что вы хотите. Нет правила CSS, которое должно «игнорировать какое-то другое правило». Единственный способ обойти это - написать более конкретное правило CSS для внутренних элементов, которое вернет его к тому состоянию, в котором оно было раньше, что является головной болью.
Возьмите пример ниже:
<div class="red"> <!-- ignore the semantics, it's an example, yo! -->
<p class="blue">
Blue text blue text!
<span class="notBlue">this shouldn't be blue</span>
</p>
</div>
<div class="green">
<p class="blue">
Blue text!
<span class="notBlue">blah</span>
</p>
</div>
Нет способа вернуть класс .notBlue
к родительскому стилю. Лучшее, что вы можете сделать, это следующее:
.red, .red .notBlue {
color: red;
}
.green, .green .notBlue {
color: green;
}
Заменить значения, присутствующие во внешнем UL, значениями во внутреннем UL.