Javascript 如何将类添加到id为的div中
我有两个页面home.html和service.html。在主页上单击此链接时,我想将Javascript 如何将类添加到id为的div中,javascript,jquery,Javascript,Jquery,我有两个页面home.html和service.html。在主页上单击此链接时,我想将显示活动的类添加到服务页面上id为的div中 这是my service.html中的html <div class="tab-pane fade show active" id="v-pills-services"></div> <div class="tab-pane fade" id="v-pills-manpower"></div> 我怎样才能实现我的目
显示活动的类添加到服务页面上id为的div中
这是my service.html中的html
<div class="tab-pane fade show active" id="v-pills-services"></div>
<div class="tab-pane fade" id="v-pills-manpower"></div>
我怎样才能实现我的目标?请参考这里的答案
向元素添加其他类:向元素添加类
元素,在不删除/影响现有值的情况下,追加一个空格
以及新的类名,如下所示:
document.getElementById(“MyElement”).className+=“MyClass”代码>
在您的情况下,它应该是:
document.getElementById("v-pills-manpower").className += " show active";
如果您使用的是引导,则显示选项卡/避孕药的默认类应为:淡入活动状态
使用类列表
添加、删除或切换类:
// single item
document.getElementById('some-id').classList.add('show')
// multiple items
let elements = document.querySelectorAll('*[id]')
for (let i of elements) {
elements[i].classList.add('show')
}
对于您的示例,请使用哈希作为选择器:
let sel = document.location.hash.substr(1)
document.getElementById(sel).classList.add('show')
编辑:如果你要投否决票,至少有礼貌地解释一下原因。因为你使用的是jQuery,你可以通过一行简单的代码轻松做到这一点:
$(location.hash).addClass( 'show active' );
您不需要创建元素数组并进行搜索,因为您要匹配的是元素id
location.hash
恰好是jQueryid
选择器的格式:“#id”
,因此您可以直接使用它
因此,$(location.hash)
为您提供了一个包含元素的jQuery对象。然后添加类。您还可以使用删除类。您可以使用document.querySelector(location.hash)
获取具有该ID的元素(如果有)。哪个库提供了您的$
?请将其标记为可能的重复项,因为我收到的错误无法读取null的属性“classList”
,这意味着您的选择器错误。我已经更新了一个可能的补丁。当我控制台.log(sel)
时,我能够看到div,但当我尝试添加类时,仍然会收到相同的错误,仍然认为选择器错误?文档.location.hash
以#
开头。您应该使用类似于let sel=location.hash.substr(1)
。用逗号分隔类,如div.classList.add(“foo”,“bar”)代码>是的,我正在使用引导,但我也遇到了错误无法读取null的属性“className”
$(location.hash).addClass( 'show active' );