javascript - addClass 和 className 在 js 中不起作用

标签 javascript css

hr1 是使用 JavaScript 动态创建的行的 id。然后我尝试设置它的bottom border的颜色。当我运行代码时,我发现版本 1 可以运行,但版本 2、版本 3、版本 4 和版本 5 不运行。希望有人能帮我指出为什么会这样。先感谢您。

版本 1:

$('#hr' + 1).css("border-bottom-color", "red");

版本 2:

js:
$('#hr' + 1).addClass('thing');

css:
.thing {
    border-bottom-color: red;
}

版本 3:

js:
$('#hr' + 1).className = "thing";

css:
.thing {
    border-bottom-color: red;
}

版本 4:

js:
$('#hr' + 1).attr('class', "thing");

css:
.thing {
    border-bottom-color: red;
}

版本 5:

js:
$('#hr' + 1).setAttribute('class', "thing");

css:
.thing {
    border-bottom-color: red;
}

最佳答案

第 2 条应该有效,所以可能是您的 CSS 不适用(或者 .thing 被其他一些 css 规则覆盖)。尝试使您的选择器 .thing 更具体。

.hr {
  height: 2px;
  border-bottom: 1px solid #000;
  margin: 0 0 10px;
}

.thing {
  border-bottom-color: red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="hr1" class="hr"></div>
<div id="hr2" class="hr"></div>
<div id="hr3" class="hr"></div>
<button onClick='$("#hr1").addClass("thing")'>Change color</button>

关于javascript - addClass 和 className 在 js 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40778286/

相关文章:

javascript - 为什么这个对象解构不起作用?

html - css 在 firefox 中不起作用,但在所有其他浏览器中都可以

html - 垂直居中 Bootstrap 按钮

javascript - 如何使网页的突出显示部分始终垂直位于屏幕中央?

javascript - 无法使用居中的大播放按钮暂停 VideoJS 播放器

javascript - 在 d3js 强制布局中向节点添加箭头和文本

javascript - Chrome 扩展 XHR 收到 403 响应,除非从文件 :///启动

html - CSS - 将 flexbox 下拉菜单放置在内容上方

css - 如何根据屏幕高度减去绝对定位元素的高度来设置 div 高度?

javascript - [].slice.call(this) vs array.prototype.call(this)