- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
这是我要实现的目标:我在列表中有四个按钮,每个按钮都有白色背景和独特的彩色边框。单击一个按钮时,其背景颜色将与其边框颜色相同。单击第二个按钮时,第一个按钮恢复正常,第二个按钮的背景填充第二个按钮的边框颜色。每个按钮都有 ID“navX”,其中 X 是 1 到 4 之间的数字。
我一直在混合使用 jQuery 和 javascript 来实现这一点。我试图在单击时使用 jQuery 将所有按钮背景设置为白色,并尝试使用 javascript 填充单击按钮的背景。这是因为我知道 jQuery 允许您收集所有具有公共(public) ID 字符串的元素:
$('[id^=nav]').css({"background":"#FFFFFF", "color":"#000000"});
在使用 javascript 的同时,我可以将点击的 ID 和颜色参数传递给函数:
<a id="nav1" onclick="changeHeaderColour(this, '#f0e442')"> Button 1 </a>
function changeHeaderColour(navItem, newColor) {
document.getElementById(navItem.id).style.backgroundColor = newColor;
document.getElementById(navItem.id).style.color = newColor;
}
我一直在尝试将这些组合起来的混合方式,改变要使用的选择器,以及篡改核心 CSS,但我无法实现以下两个目标之一:
我真的不知道还有什么办法可以做到这一点。我似乎无法找到不会相互覆盖的 CSS 级别的正确组合。我没有使用 jQuery 的 addClass() 方法,因为每个类都需要一种独特的颜色。如果有人有任何建议,那就太好了 - 这似乎是一项简单的任务,我决心自己完成它,但我已经做了几个小时了!
感谢您的帮助!
最佳答案
不需要混合使用 jQuery、vanilla JS 和内联脚本。
$("a.button").on("click", function(ev) {
ev.preventDefault();
// "reset" the background color of all "buttons"
$("a.button").css("background-color", "");
// change the background color of the clicked button to the same color as its border
var button = $(this);
button.css("background-color", button.css("border-color"));
});
a.button {
background-color: #fff;
padding: 5px;
border-style: solid;
border-width: 1px;
}
#nav1 { border-color: #f00 }
#nav2 { border-color: #0f0 }
#nav3 { border-color: #00f }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a id="nav1" class="button">Button 1</a>
<a id="nav2" class="button">Button 2</a>
<a id="nav3" class="button">Button 3</a>
关于javascript - 使用 Javascript 和 JQuery 改变 CSS 属性 : JQuery cannot alter properties that Javascript has already altered?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44616944/
我知道这不是什么大问题,但还是让我觉得很痒。 我有一个 SQL Server 2005 脚本来创建新的数据表、约束、更改一些表以添加列、更改过程以将表更改考虑在内等。 一切正常,直到脚本遇到我的 AL
我需要一个包含三列的数据框:i、j(改变)和 k(j 的改变)。我有一个邻接矩阵(下面的示例)。从那里我可以获得一个图形对象并提取边缘列表。我如何操作数据以获得类似于下面的 WANT 数据框的输出?
假设我有这个 SQL 语句: ALTER TABLE dbo.[tbl] ALTER COLUMN col1 varchar(300) ALTER TABLE dbo.[tbl] ALTER COLU
我在表中有一列,因此它不再是 NVARCHAR(256),而是 NVARCHAR(MAX)。我知道执行此操作的命令 (ALTER TABLE ALTER COLUMN NVARCHAR(MAX))。我
我在表中有一列,因此它不再是 NVARCHAR(256),而是 NVARCHAR(MAX)。我知道执行此操作的命令 (ALTER TABLE ALTER COLUMN NVARCHAR(MAX))。我
假设我有这两个 ALTER TABLE: ALTER TABLE tableName ADD COLUMN colName INT(11) AFTER colName2 ALTER TABLE tab
我正在尝试扩展 IdentityUser 类。我添加了一个新类 ApplicationUser 并继承了 IdentityUser 类。迁移已成功添加,但在更新数据库时,出现错误“对象 'PK_Asp
我想将 sql server 2005 表中的列修改为 IDENTITY(1,1) 顺便说一句,该表是空的,要更改的列是主键。 该列也是另外两个表的外键。 谷歌搜索后我发现你不能使用Alter tab
这是我要实现的目标:我在列表中有四个按钮,每个按钮都有白色背景和独特的彩色边框。单击一个按钮时,其背景颜色将与其边框颜色相同。单击第二个按钮时,第一个按钮恢复正常,第二个按钮的背景填充第二个按钮的边框
我在 clickhouse 有一张 table ,比如“my_table”,它有复制品(my_table_rep1,...)。我需要添加一个列,类型为 float64,默认值 (-1)。 我该怎么做?
alter FUNCTION [Kuri].[fnGetAge](@kuri_cust_Id int,@amt decimal) RETURNS SMALLINT AS BEGIN D
我试图确保当我 mysqldump 数据库时约束在执行以下查询后按数字顺序排列。当我在没有 AFTER 的情况下进行转储(这不起作用)时,它显示 phppos_sales_ibfk_3 作为第一个约束
我有两个表:cleanup 和 uniqueEntries。它们都有一个自动递增的id作为主键。 uniqueEntries 的表结构来自 cleanup,如下所示: $sql = "CREATE T
我有一个包含以下数据和结构的表: Date Analyst Start Time Stop Time 4/2/2018 Bill Smith 7:00
This question already has answers here: Error renaming a column in MySQL
是否可以更改表的多(复合)列键? 示例表: CREATE TABLE `test_abc` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `
我尝试执行 oracle alter session 查询以更改语言设置,但失败并出现错误“ORA-01036:非法变量名称/编号”。 preparedStatement = connection.p
我正在与一位客户合作,他希望大型数据库中的每个表的每条记录都有历史数据,并且为了美观,希望这些列位于每个表的末尾。例如: 表名 主键 数据列 历史专栏 所以我的问题是,是否有一个 SQL 命令可以将列
我正在尝试更改 SQL Server 2000 更新触发器,但它一直挂着、挂着、挂着。为什么会发生这种情况,我该怎么做才能解决这个问题?这是一个长触发器,这可能是为什么? 触发代码较长,简化如下: A
我正在将我的 mysql 数据库表从 id (auto) 更改为 uid。 ALTER TABLE companies DROP PRIMARY KEY; ALTER TABLE companies
我是一名优秀的程序员,十分优秀!