【发布时间】:2020-06-20 07:11:09
【问题描述】:
这里thisid存储了html元素的id。我想使用以下代码更改其背景颜色
let thisid = 'test';
$("a#" + thisid).css("background-color", "yellow");
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<a id="test" href="#">Hello world!</a><br/>
<a id="test2" href="#">Goodbye all</a>
这不起作用,但如果我删除 thisid 并按以下方式编写它,它会起作用
$("a").css("background-color","yellow");
但它会选择所有带有标签的
下面是我真正想做的。
$(document).ready(function() {
// hide all questions
$("h1").hide();
// display first question
$("h1#1").show();
// show selected question
$("a").bind('click',function(){
let thisid = $(this).attr('id');
$("h1").hide();
$("h1#"+thisid).show();
$("a#"+thisid).css("background-color","yellow");
});
});
【问题讨论】:
-
您的代码应该按原样工作(尽管
id的值应该是唯一的,所以id前面的a是多余的)。也许thisid没有你认为它应该包含的内容? -
我已将您的代码转换为 sn-p,这表明它可以正常工作。
-
您的代码按预期工作
-
我添加了没有按预期工作的完整代码:(
标签: javascript jquery web-frontend