如何将类名添加到以特定 id 开头的所有元素?

how to add classname to all elements starting with specific id?

在你抨击我之前,我知道这个问题可能是重复的。 我尝试了在 Whosebug 上找到的所有其他 post,但都失败了。

我想为我的 html 中以 'subclass' 开头的所有元素添加一个 class 名称,后跟一个数字(classid),后跟一个随机数。我不知道有多少元素,因为它是用 servlet 动态生成的。

以下是我尝试使用的代码 运行:

<style>
.bold {
    font-weight: bold;
}
</style>
<script>
function highlight(classid){
    alert(classid);
    $("p[id^='subclass'+classid]").addClass('bold');
    alert('hello world');
}
</script>
<p id='subclass25'>Hello World </p>

我收到 classid 的警报,但没有收到 'hello world' 的警报。所以我确定我的 JQuery 是错误的....

您漏掉了引号,这就是 jquery 选择器未正确创建的原因,请参阅下文

 highlight('25');
 function highlight(classid){
        alert(classid);
        $("p[id^='subclass" + classid + "']").addClass('bold');
        alert('hello world');
    }
.bold {
    font-weight: bold;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<p id='subclass25'>Hello World </p>