Javascript 如何将函数应用于具有边界半径属性的所有元素

Javascript 如何将函数应用于具有边界半径属性的所有元素,javascript,jquery,css,Javascript,Jquery,Css,这个想法是在IE7/8中产生一些边界半径效果,所以我决定使用库。为了使它更通用,我想编写一些脚本,将corner()函数应用于具有border-radius属性的页面中的所有元素 例如,对于此元素 .someElement { border-radius:10px; } 函数必须执行以下操作 $(".someElement").corner("10px"); 问题是我想对所有元素应用圆角,包括动态添加的元素和在某些操作(悬停、单击等)中继承边界半径属性的元素。这可能吗?您需要声

这个想法是在IE7/8中产生一些边界半径效果,所以我决定使用库。为了使它更通用,我想编写一些脚本,将
corner()
函数应用于具有border-radius属性的页面中的所有元素

例如,对于此元素

.someElement
{
    border-radius:10px;
}
函数必须执行以下操作

   $(".someElement").corner("10px");

问题是我想对所有元素应用圆角,包括动态添加的元素和在某些操作(悬停、单击等)中继承边界半径属性的元素。这可能吗?

您需要声明一个函数,在每次更改时应用css。 要检测css样式更改,请参见此处:

然后,您需要在样式更改和dom树更改时调用该函数(每次在页面中添加内容时)


我建议您使用特定的类来应用边界半径css。通过这种方式,您可以通过jQuery类选择器选择圆角元素。

您应该有一个通用css类,用于所有具有圆角边框的元素,然后在选择器中使用该类

您必须在准备好文档的处理程序中执行此操作。当然,这只会将圆角边框应用于当前存在的图元。如果希望涵盖使用ajax加载的元素,可以执行以下操作:

$(document).ajaxSuccess(function(e, xhr, settings)
{
    $(xhr.responseText).find(".class-that-applies-rounded-borders").corner("10px");
});

我认为你做不到。检查。你需要一个包含所有元素的循环,因为你也在动态地生成HTML,所以听起来需要做很多工作。IE8的使用正在急剧下降;这是少有的时间站在你这边的场合之一。您是否受到要求的约束?是的,客户希望在以前使用图像的地方使用边界半径效果。我想找到一些通用的解决方案,以避免在所有页面中编写javascript。这种方法似乎不受跨浏览器支持,我相信op正在寻找跨浏览器解决方案,否则他一开始就不会有这个问题。好吧,他只想在IE中应用边界半径,因此检测样式更改是一个真正的选择。css3pie就是这样做的。边界半径特定类显然是一个合理的选择。