将 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.
我需要添加一个 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.