在javascript中使用.css()设置细边框
因此,当用户点击它时,我正试图在页面上的按钮周围设置边框。
要设置处理程序,我要去:
$(".reportButtons").click(function(){ //change border color });
我尝试了两种方法来改变那里按钮的边框颜色。 第一种方法是使用.css()函数。
$(this).css({"border-color": "#C1E0FF", "border-weight":"1px", "border-style":"solid"});
但是当我这样做时,边框真的很胖(我希望它是发际线的,就像我通常将宽度设置为1px一样)
我试过的另一种方法是下载jquery-color插件,并执行以下操作:
$(this).animate({borderTopColor: "#000000"}, "fast");
当我这样做时,没有任何反应。 没有错误 – 没有任何反应。 但是,如果不是尝试更改边框颜色,我尝试更改背景颜色,它工作正常….所以我使用jquery颜色错误? 作为参考,以下是我将如何更改背景:
$(this).animate({ backgroundColor: "#f6f6f6" }, 'fast');
就像我说的那样有效。 当我下载jquery-color时,我只下载了一个文件(jquery-color.js),如果这有所不同….
那么我该如何获得发线边界呢? (如果你有任何如何使它工作,我宁愿使用animate()方法)
当前示例:
您需要定义border-width:1px
您的代码应为:
$(this).css({"border-color": "#C1E0FF", "border-width":"1px", "border-style":"solid"});
建议示例:
理想情况下,您应该使用类和addClass / removeClass
$(this).addClass('borderClass');
$(this).removeClass('borderClass');
在你的CSS中:
.borderClass{ border-color: #C1E0FF; border-width:1px; border-style: solid; /** OR USE INLINE border: 1px solid #C1E0FF; **/ }
jsfiddle工作示例: http : //jsfiddle.net/gorelative/tVbvF/
jsfiddle with animate: http : //jsfiddle.net/gorelative/j9Xxa/这只是给你一个如何工作的例子,你应该得到这个想法..有更好的方法这样做最有可能..比如使用toggle()
也许只是“边框宽度”而不是“边框重量”? 没有“border-weight”,只会忽略此属性,而是使用默认宽度。
我建议使用类而不是设置css属性。 所以不是这样的:
$(this).css({"border-color": "#C1E0FF", "border-width":"1px", "border-style":"solid"});
定义一个css类:
.border { border-color: #C1E0FF; border-width:1px; border-style:solid; }
然后将您的JavaScript更改为:
$(this).addClass("border");
经过几个徒劳的小时与’SyntaxError:missing:after property id’消息后,我现在可以扩展这个主题了:
border-width是一个有效的css属性,但它不包含在jQuery css oject定义中,所以.css({border-width:’2px’})会导致错误,但它对.css({‘border -width’:’2px’}),大概是引号中的属性名称只是按原样传递。