0

私は次のhtmlスニペットを持っています:

...
<div>
    <a></a>
    <select class="error"></select>
    <label class="error"></label>
    <div></div>
</div>
...

CSSで「a」タグを選択する必要があります。これは可能ですか?

「a」タグを選択しようとしています。エラークラスは、javascriptを介して動的に挿入されます。「a」タグを赤にする静的なcssルールが必要です。

セレクターを使用したCSSアプローチにのみ興味があります。これが不可能な場合、私は別のアプローチの助けを必要としません。

~~~~~~~~~~~~~~編集:~~~~~~~~~~~~~~

この「a」タグを他の「a」タグから区別する唯一のことは、それに続くエラークラス要素の存在です。エラークラスは動的に適用されます。それに続くエラークラスを持たない他の「a」タグを選択したくありません。この「a」タグの後にエラークラスが続く場合にのみ、この「a」タグを選択したいと思います。

~~~~~~~~~もう一度編集:~~~~~~~~~

私はそれをうまく説明しませんでした。エラークラスを含むすべてのdivの最初の子(または何か)を選択できることを望んでいました。

4

4 に答える 4

1

アンカーを選択するだけで、その特定のレイアウトで必要なものが得られます。

a {color: red;}

- 編集 -

質問を変更したので、ここに新しい答えがあります:

JSを使用して、特定のタイプの兄弟が存在するかどうかを確認します。

$('a').each(function(){
    if (​$(this).siblings('.error').length > 0​​)
        $(this).css('color','red');
});​
于 2012-09-09T01:04:23.603 に答える
1
<style>
  .mylinkclass {
    ...style info goes here
  }
</style>

...
<div>
    <a class="mylinkclass"></a>
    <select class="error"></select>
    <label class="error"></label>
    <div></div>
</div>
...
于 2012-09-09T01:08:10.963 に答える
1

更新された質問については、次のハックなソリューションを試してください。

div a:nth-last-child(4)
{
    background-color:yellow;
}

DIVエラー要素が存在し、それ以外の場合は要素が少ない(または多い)場合は、内部に4つの要素しかない(最初のアンカー)という事実を当てにできる場合。

とにかく、これには Javascript (または適切な HTML) を使用する方がよいでしょう。

于 2012-09-09T02:02:02.543 に答える