1

このマークアップの抜粋があるとします。

<p onblur="...">text 1</p>
<p class="myclass">text 2</p>
<p onfocus="...">text 3</p>

どちらも「on」で始まる属性を持っているという事実を使用して、最初と最後の要素 (中央ではない) を取得するために使用できる CSS セレクターはありますか? この特定のケースのためのものではなく、一般的な解決策を探しています (もちろん、この特定の例では、意図した結果がはるかに簡単な方法で達成できるためです)。

Javascript ベースのソリューションも私にとっては問題なく動作します (ただし、すべての要素を調査する強引なアプローチは避けたいと考えています)。それが実際に私が探しているものです(jQueryまたは同様のライブラリで使用できるセレクター)。

4

2 に答える 2

1

先のとがったように、これは物事を回避するための推奨される方法ではありません。クラスを使用して、一度にターゲットにしたい要素をグループ化するだけです。

ただし、これを使用してほとんどのイベント ハンドラーをターゲットにすることができます。

[onabort],[onbeforecopy],[onbeforecut],[onbeforepaste],[onblur],[onchange],[onclick],[oncontextmenu],[oncopy],[oncut],[ondblclick],[ondrag],[ondragend],[ondragenter],[ondragleave],[ondragover],[ondragstart],[ondrop],[onerror],[onfocus],[oninput],[oninvalid],[onkeydown],[onkeypress],[onkeyup],[onload],[onmousedown],[onmousemove],[onmouseout],[onmouseover],[onmouseup],[onmousewheel],[onpaste],[onreset],[onscroll],[onsearch],[onselect],[onselectstart],[onsubmit] {
  color: #BADBAD;   
}

デモを見るhttp://jsfiddle.net/uwXgt/1/

于 2012-07-29T16:02:38.310 に答える
0

要素の属性に基づいて選択する CSS セレクターがあります。

p[onfocus] { color:blue; }
p[class=myclass] { color:red; }

しかし、CSS には、属性名の最初の部分に基づいて選択する方法がありません。

于 2012-07-29T15:49:41.957 に答える