Javascript: 检查元素中的 ::after

Javascript: check for ::after in element

我有一个非常简单的元素:

如何检查此元素是否包含 ::after using Javascript?

(我有使用 document.getElementsByTagName('h2')[0] 的元素)

我不知道这个东西是怎么工作的,我也不需要知道,我只需要代码看看它是否存在...

在某些情况下,元素看起来像这样:

如果可能的话,我需要能够检测到这两种情况!

检查这个 link,解释如何简单地使用它 JavaScript(可能只适用于较新的浏览器):http://davidwalsh.name/pseudo-element

编辑:如果您想编辑 :after 的内容,请参考这个 SO 问题:Selecting and manipulating CSS pseudo-elements such as ::before and ::after using jQuery

会是这样的:

var pre = onload; // assign previous onload if any
onload = function(){ // onload wrapper start
if(pre)pre(); // execute previous onload in the new onload
var doc = document, h2a = doc.getElementsByTagName('h2');
var afterIn = [], afterOut = [];
for(var i=0,l=h2a.length; i<l; i++){
  var h2 = h2a[i];
  if(h2.value.match(/\:\:after/)){
    afterIn.push(h2);
  }
  else{
    afterOut.push(h2);
  }
}
for(var i=0,l=afterIn.length; i<l; i++){
  console.log(afterIn[i].value);
}
for(var i=0,l=afterOut.length; i<l; i++){
  console.log(afterOut[i].value);
}
} // onload wrapper end