好吧,所以我最近发现了这个名为"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元素数组。