javascript - 卡住:onclick 背景颜色属性正确更改但实际颜色未显示(使用 PHP 循环)
问题描述
我有一个收藏按钮,可以选择当前显示的颜色,然后将该颜色注入收藏栏。我添加了一个 PHP 循环来选择不同的颜色并将它们添加到最后选择的收藏夹旁边。背景属性正在改变,但由于某种原因,它没有显示颜色。
JavaScript:
$('#fav-colour-pallete-' + id).click(function getFav() { //Button
var favColor = $('#colour-pallete-' + id).attr('color-hex');
$('.fav-color-' + id).css('background', '#' + favColor);
$('.fav-color-' + id).attr('color-hex', favColor)
});
}
HTML:
<div class="col-sm-4 favorites">
<p class="h6 favorites-title mb-0 mt-2">Favorites:</p>
<ul class="list-inline favorites-list mb-0">
<?php for($i=1; $i<=6; $i++) { ?>
<li class="list-inline-item fav-color-<?php echo $i; ?
>"></li>
<button id="fav-colour-pallete-<?php echo $i; ?>" class="fav-
colour-pallete b tn btn-secondary palette-btn" type="button">
<i class="far fa-heart"></i>
</button>
<?php } ?>
</ul>
</div>
如果我从 HTML 中删除循环并从 JavaScript 中的 fav-color 中删除 ID,它会显示/添加颜色到收藏夹栏,但会替换最后一个收藏夹。
我相信这个问题与循环有关。而且很奇怪,我可以在控制台中看到背景属性正确更改,但颜色实际上并没有改变。
解决方案
您在脚本中定位的#id 在哪里?它不是来自 PHP 循环。这是您的脚本的定位错误。尝试粘贴
推荐阅读
- sql-server-2012 - 带有使用 SQL Server 2012 的嵌入式 XSD 的 OPENXML
- circuit-sdk - 嵌入在电路对话中的 HTML?
- rest - ServiceNow 休息 API
- python - Django Url 和 Views 无法传递参数
- java - 从 null 取消装箱整数转换
- elixir - 如何匹配类似于枚举的 ecto 方案整数类型
- html - 在什么范围内提供 HTML5 地理位置经度?
- c# - 错误:必须声明一个主体,因为它没有标记为抽象或外部
- python - TensorFlow 用不同的数据重新训练神经网络
- docker - 无法在网络 nat 上创建端点:hnsCall 在 Win32 中失败:进程无法访问文件