我目前正在使用以下内容尝试突出显示锚点的目标元素内的元素(div.box)(例如,#help部分)。锚点用于滚动到#help,但我只需要突出显示#help中的div.box。
$(document).ready(function() {
$(".box").removeClass("highlightTarget");
var myLocation = document.location.hash.replace("#","");
if (myLocation) {
document.getElementById(myLocation).className = "highlightTarget";
}
$("a").click(function () {
$(".box").removeClass("highlightTarget");
var clickedLink = this.href.split("#");
if (clickedLink.length > 1) {
document.getElementById(clickedLink[1]).className = "highlightTarget";
}
});
});
与css一起:
.highlightTarget {background:red}
目前,我的代码更改了#help red部分的背景。我做错了什么?
非常感谢任何帮助。
答案 0 :(得分:2)
您所使用的是目标元素中的.box
元素,因此您需要在目标元素中使用.find()来查找.box
元素。
$("a").click(function () {
$(".box").removeClass("highlightTarget");
var clickedLink = this.href.split("#");
if (clickedLink.length > 1) {
$('#' + clickedLink[1]).find('.box').addClass("highlightTarget")
}
});
答案 1 :(得分:0)
$(".box").removeClass("highlightTarget");
var myLocation = document.location.hash.replace("#","");
if (myLocation) {
document.getElementById(myLocation).className = "highlightTarget";
}
$("a").click(function () {
$(".box").removeClass("highlightTarget");
var clickedLink = this.href.split("#");
if (clickedLink.length > 1) {
$('#' + clickedLink[1]).find('.box').addClass('highlightTarget');
}
});