为什么这个jQuery代码没有从div工作中删除边框?

时间:2010-11-22 00:10:38

标签: jquery css

jsFiddle

我正在尝试使用jQuery删除div的边框,但它不起作用。我做错了什么?

HTML:

<!DOCTYPE html>
<html>
<head>
  <style>
  div { width: 200px; height: 150px; background-color: #f33; border: 10px solid silver;}
  </style>
</head>
<body>
  <div id="a1"></div>
  <br>
  <br>
  <div id="a3">click</div>  
</body>
</html>

使用Javascript:

$("#a3").click(function() {
    $('#a1').css("border", ""); 
}):

5 个答案:

答案 0 :(得分:16)

  • 元素ID不能以数字开头
  • 您的脚本以:而不是;
  • 结尾
  • border设置为none,而不是空字符串

答案 1 :(得分:6)

即使你认为id正确,我想你也想要。

$("#three").click(function() {
    $('#one').css("border", "none"); 
});

如果将边框样式设置为空字符串,则不会覆盖CSS给出的样式。您需要为其提供一个将应用的值。使用空字符串将删除元素上的样式属性,使内联样式标记中的级联样式保持应用。

答案 2 :(得分:0)

嗯,你有三个问题:

  1. 元素ID不能以数字开头。
  2. 您的JS代码以:(冒号)结尾;应该是;(分号),或者是语法错误。
  3. 将边框设置为空字符串不会删除边框。试试$('#1').css('border', 'none');

答案 3 :(得分:0)

而不是css("border", "");使用css("border", "none");

但同样重要的是将脚本末尾的:更改为;,因为它会导致脚本完全失败。

示例http://jsfiddle.net/XWt53/4/

答案 4 :(得分:0)

您点击的div是否绑定了点击事件?

$("#a3").bind('click', function () {
     $("#a1").css('border', 'none');
});