You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何反转标签着色触发方向:点击white时所有标签应用color: red

解决方案:两个需求的代码调整指南

需求1:反转同级元素的颜色应用方向

先明确核心逻辑的反转思路——假设你的初始代码是点击元素时,给所有同级元素设置颜色,当前点击的元素保持默认样式,类似这样:

// 初始逻辑:点击元素,同级变色,自身不变
$('.element').click(function() {
  $(this).siblings().css('color', '#2c3e50');
  $(this).css('color', 'inherit'); // 自身保留默认颜色
});

要反转这个应用方向,就是改成点击元素时,仅给当前元素设置颜色,同级元素恢复默认。调整起来很简单,只需要互换$(this)siblings()的CSS操作目标:

// 反转后逻辑:点击元素,自身变色,同级不变
$('.element').click(function() {
  $(this).css('color', '#2c3e50');
  $(this).siblings().css('color', 'inherit'); // 同级恢复默认颜色
});

如果你的初始逻辑本来就是“自身变色、同级不变”,那把代码换回上面的初始写法就完成反转了。核心就是切换颜色应用的目标对象——是当前元素还是它的同级们。


需求2:反转触发逻辑(点击white时所有标签变红)

假设原来的代码是点击class为black的按钮时,所有label标签变成红色,附带点击white按钮恢复默认的逻辑,大概是这样:

// 初始逻辑:点击black按钮,所有label变红
$('.black').click(function() {
  $('label').css('color', 'red');
});
// 点击white按钮恢复默认颜色
$('.white').click(function() {
  $('label').css('color', '#333');
});

要反转触发逻辑,只需要把两个按钮的事件逻辑互换:

// 反转后逻辑:点击white按钮,所有label变红
$('.white').click(function() {
  $('label').css('color', 'red');
});
// 点击black按钮恢复默认颜色
$('.black').click(function() {
  $('label').css('color', '#333');
});

如果原来没有恢复逻辑,直接把事件绑定的选择器从.black改成.white就搞定了:

// 仅调整触发按钮
$('.white').click(function() {
  $('label').css('color', 'red');
});

内容的提问来源于stack exchange,提问作者Toleo

火山引擎 最新活动