将 class 添加到另一页的元素

add class to element from another page

我需要添加一个 class (.open) 到主页的另一个页面上的元素 (h2),具体取决于单击的选项。

下面的 jquery 显示了我编写的一行代码,尽管它不起作用,但可以让您了解我正在尝试做什么。

Jquery

//open service section from home page

var hash = window.location.hash;
if(hash != "") {
    var id = hash.substr(1); 
    document.getElementById(id).style.display = 'block'; 
    //document.getElementById(id).previous('h2').addClass( "open" ); //CODE THAT DOESN'T WORK
}

HTML(这就是我想要实现的。如您所见,h2 包含 .open 标签)

 <h2 class="section-heading toggle open">heading title</h2>
     <div id="content1" class="slide-content"></div>
     </div>

您混淆了 DOM 和 jQuery。我建议使用其中之一。

写注释掉的 "code that doesn't work" 行的 jQuery 方法是

$(hash).prev().first().addClass("open");

$(hash).prevAll('h2').first().addClass("open");

...如果在具有 ID 的元素和 h2 之间存在任何元素。

请注意,我使用 hash 而不是 id,因为它上面有 #,方便的是 select by id CSS.