javascript - 我对这个 JQUERY 和 CSS 做错了什么?
问题描述
我希望能够在点击时将“文本装饰”设置为“删除线”。(另外,如果有人能指出我如何让它在点击后进入列表底部的正确方向,那将很有帮助。)
$(".player-name-wrapper").children().click(function() {
if ($(this).css.style.text - decoration == "line-through") {
$(this).css("text-decoration", "none");
} else {
$(this).css("text-decoration", "line-through");
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="qb-wrapper" class="position-wrapper hide-wrapper">
<h4 class="box-heading">QB</h4>
<div id="qb-names" class="player-name-wrapper">
<a>QB Player Name</a>
<a>Player Name</a>
<a>Player Name</a>
<a>Player Name</a>
<a>Player Name</a>
<a>Player Name</a>
</div>
</div>
解决方案
- 你有一个错字
style.text - decoration
。 - 另外,
this
已经引用了您想要的元素。只需用它改变你的风格。您正在结合 JavaSript 和 jQuery,这会导致您的错误。
这有效:
$(".player-name-wrapper").children().click(function () {
if (this.style.textDecoration === 'line-through') {
this.style.textDecoration = "none";
} else {
this.style.textDecoration = "line-through";
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="qb-wrapper" class="position-wrapper hide-wrapper">
<h4 class="box-heading">QB</h4>
<div id="qb-names" class="player-name-wrapper">
<a>QB Player Name</a>
<a>Player Name</a>
<a>Player Name</a>
<a>Player Name</a>
<a>Player Name</a>
<a>Player Name</a>
</div>
</div>
推荐阅读
- android - 为 RecyclerView 缓存可扩展的字符串
- php - 如何在不创建新元素的情况下更改某个元素的类?
- libgdx - 锥光方向度参数什么都不做我给出的值?
- java - android如何调试java.lang.*
- android - 在 Gboard for iOS 中添加自定义贴纸
- typescript - 异步构造函数模式未捕获的异常
- java - 如何通过 Selenium 和 Java 根据 html 单击取消按钮
- java - 如何将 Java 可选与 int 返回类型一起使用?
- javascript - 从iframe外部的按钮触发全屏?
- javascript - 如何根据 Angular 6 中的 Firebase 实时数据库中的键获取单个记录