IE8中的CSS3选择器



好吧,所以我最近发现了这个名为"Selectivizr"的脚本,我真的很兴奋,但我把它插入了我的项目,按照它说的那样设置,但它没有工作。

因此,我想要的是任何类型的JavaScript库/脚本,它们将允许我在IE8中使用CSS3选择器(尤其是:checked)。

Selectivizr似乎坏了,已经一年多没有更新了。其他人运气好吗?

有人知道在IE8中允许使用CSS3选择器的其他脚本吗?

不查找CSS3样式,如边界半径、阴影等。只查找选择器,如:before:after:checked等。

Dean Edward的IE9.js非常坚固,尽管我听说在使用其他库时也存在一些不兼容问题。我自己从未经历过,但很长一段时间以来,我都没有经常在野外使用图书馆。插即用,如果它不坏,那么你就做好了。

链接:http://code.google.com/p/ie7-js/

演示:http://ie7-js.googlecode.com/svn/test/index.html

使用jQuery代码,您可以使用这几行在任何时候选中或取消选中所有复选框(或其容器)上切换类。这样就可以在所有浏览器中使用常规的CSS代码。

$("input[type='checkbox']").click(function() {
$(this).parent().toggleClass("checked", this.checked);
});​

此处的工作示例:http://jsfiddle.net/jfriend00/7jA5r/.

如果您动态地创建复选框,那么您可以使用.on()的动态形式来确保捕获它们。

我个人更愿意使用一个包含几行代码的解决方案,而不是使用一个试图添加CSS样式文件功能的重型库。如果你打算使用它,在采用它之前,一定要了解它背后到底发生了什么


如果你只是想要一个选择器库,Sizzle选择器库可以在各种浏览器中工作,包括一直到IE6。它将适应主机浏览器的功能,使用尽可能多的内置功能,并在主机浏览器不支持显式功能时使用自己的代码。

您可以从这里只使用选择器库本身,或者它也是jQuery内部的选择器库。

它使用起来非常简单。你只需要这样做:

var items = Sizzle(":checked");

您将拥有一个与选择器匹配的DOM元素数组。

最新更新