我正在尝试删除 a href 背景的样式。问题是当我将动态id与选择器连接起来然后它就不起作用了。但是当我使用选择器的完整名称时,它就可以工作了。 我知道您可以将我的问题标记为像here那样重复,但它们对我不起作用。请纠正我。
有效:
$("a").click(function(event)
{
var id = event.target.id;
$('#chatIdStyle4').removeAttr("style");
});
什么没有:
$("a").click(function(event)
{
var id = event.target.id;
$('#chatIdStyle'+id).removeAttr("style");
});
OR
$("a").click(function(event) {
//alert(event.target.id);
var iddds = event.target.id;
$('#chatIdStyle["'+ iddds + '"]').removeAttr("style");
});
注意:var id包含事件触发的动态id。
按要求编辑:
下面是我的HTML + PHP代码。所以,它的作用实际上是创建了4个具有动态ID的动态 a href 。我是什么 想要的是,当点击特定的 a href 时,它应该删除之前的 a href 背景和 为点击的 a href 添加背景。
<?php
$color = false;
$PID = 4;
for($i=0;$i<4;$i++)
{
?>
<a <?php if($color==true)
{
?> style="background-color: #E6E6E6;" <?php
}
$color=false;
?>
id="chatIdStyle<?php echo $PID; ?>"
href="#">
</a>
<?php
}
?>
答案 0 :(得分:0)
我建议使用CSS解决方案而不是jQuery:
a { background: none; }
a:active { background: #E6E6E6; }
第二行将设置最后点击的a
元素的背景。
关于:active
伪类:https://www.w3schools.com/cssref/sel_active.asp