我试图让这些在 IE 7 中工作,但遇到问题。我下载了 jQuery 插件并将其包含在标题中,如下所示:
<!--[if lte IE 7]>
<script type="text/javascript" src="<?php bloginfo('template_url'); ?>/js/jquery.pseudo.js"></script>
<![endif]-->
但是还是不行。
这是 jQuery 插件的代码..
(function($){
var patterns = {
text: /^['"]?(.+?)["']?$/,
url: /^url\(["']?(.+?)['"]?\)$/
};
function clean(content) {
if(content && content.length) {
var text = content.match(patterns.text)[1],
url = text.match(patterns.url);
return url ? '<img src="' + url[1] + '" />': text;
}
}
function inject(prop, elem, content) {
if(prop != 'after') prop = 'before';
if(content = clean(elem.currentStyle[prop])) {
$(elem)[prop == 'before' ? 'prepend' : 'append'](
$(document.createElement('span')).addClass(prop).html(content)
);
}
}
$.pseudo = function(elem) {
inject('before', elem);
inject('after', elem);
elem.runtimeStyle.behavior = null;
};
if(document.createStyleSheet) {
var o = document.createStyleSheet(null, 0);
o.addRule('.dummy','display: static;');
o.cssText = 'html, head, head *, body, *.before, *.after, *.before *, *.after * { behavior: none; } * { behavior: expression($.pseudo(this)); }';
}
})(jQuery);
我认为这可能与必须更改 $
有关。字符到 jQuery
因为我使用 WordPress 和 WP 保留 $
原型(prototype)的 Angular 色,但这也不起作用;它停止了 JS 错误,但仍然不起作用。
最佳答案
为什么不使用 ie7-js (一个 JavaScript 库,使 MSIE 表现得像一个符合标准的浏览器)?
它将修复 :before
、:after
和 many other issues .
关于javascript - 获取伪元素:before/:after working in IE 7,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12052360/