如何确定当前使用的伪类?

时间:2016-07-27 18:35:41

标签: javascript jquery html

我希望能够找出我的元素javascript中使用的伪类。

是否有类似的内容: $.('#element').attr('pseudoClass')

编辑: 伪类如 - :hover:active:focus

2 个答案:

答案 0 :(得分:1)

据我所知,没有办法获得元素的所有伪类。

你可以写一个函数,虽然需要检查所有的伪类,但考虑到它们中的很多,这是一项艰巨的工作。

function getStates(element){
  var states = [];
  ["active","hover","checked",
   "enabled", "animated", "first", 
   "disabled", "empty", "even",
   "odd","header","hidden",
   "focus","image","input",
   "last-child","last-of-type","last"
   "only-child",...].forEach(function(x){
     if($(element).is(`:${x}`)) states.push(x);
  })
  return states;
}

该函数必须像getStates("#element")一样调用,并返回#element已经获得的状态数组。

完整的选择列表可用there

答案 1 :(得分:0)

你可以像这样使用jquery的.is()方法:

$('#element').is('pseudoClass')

只需将pseudoClass替换为真正的伪类,例如:hover或:active