假设我有以下标记摘录:

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


我是否可以使用CSS选择器来获取第一个和最后一个元素(而不是中间元素),因为它们都具有以“ on”开头的属性?我正在寻找一个通用的解决方案,而不是针对此特定案例的解决方案(因为对于该特定示例,当然可以以更直接的方式实现预期的结果)。

基于Java的解决方案对我来说也很好(尽管我希望避免使用强力检查每个元素的方法)。这实际上就是我要寻找的东西(可以与jQuery或类似库一起使用的选择器)。

最佳答案

正如尖锐指出的那样,这不是推荐的解决方法。只需使用一个类即可将要定位的元素分组。

但是,您可以使用以下方法定位大多数事件处理程序:

[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/

10-06 05:04
查看更多