如何将函数应用于具有border-radius属性的所有元素

时间:2012-10-03 11:43:53

标签: javascript jquery css css3

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

例如,对于此元素

.someElement
{
    border-radius:10px;
}

功能必须执行以下操作

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

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

2 个答案:

答案 0 :(得分:1)

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

Event detect when css property changed using Jquery

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

我建议你使用特定的类来应用边界半径css。这样,您可以通过jQuery类选择器选择舍入元素。

答案 1 :(得分:1)

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

您必须在文档就绪处理程序中执行此操作。这当然只会将圆形边框应用于当前存在的元素。如果要覆盖使用ajax加载的元素,可以执行以下操作:

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