无法使用JQuery为某些元素设置box-shadow CSS属性

时间:2014-10-25 12:15:00

标签: javascript jquery html css

我编写了一个javascript函数来设置元素的box-shadow:

function changeBoxShadow(elmt, val) {
     $(elmt).css("-webkit-box-shadow", val);
     $(elmt).css("-o-box-shadow", val );
     $(elmt).css("-moz-box-shadow", val );
     $(elmt).css("-ms-box-shadow", val );
     $(elmt).css("box-shadow", val );
}

当我这样调用这个函数时:

clickedCourseItem = this;
changeBoxShadow(clickedCourseItem, '');

代码工作正常,阴影消失了。

当我再次使用它时,不同的元素:

var shadowBox = $(openedcoursedetails).children(".libcoursefiles_shadow");
changeBoxShadow(shadowBox, '');

元素.libcoursefiles_shadow的盒子阴影没有消失。我认为对象是null或undefined所以我通过alert($(shadowBox).attr("class"))提醒()元素的类,它给了我元素的名称(未定义)..

谁能告诉我我的代码有什么问题?

1 个答案:

答案 0 :(得分:2)

尝试:

changeBoxShadow( shadowBox, 'none' );

或者,您可以创建css .noshadow类并执行以下操作:

的CSS:

.noshadow {
    -webkit-box-shadow: none;
    -moz-box-shadow:    none;
    box-shadow:         none;
}

JS:

$(openedcoursedetails).children(".libcoursefiles_shadow").addClass( 'noshadow' );