假设我的 html 如下:
<div class=".blog-item-holder">
<div id="AAAA"><div class="inner">AAAA</div></div>
<div id="BBBB"><div class="inner">BBBB</div></div>
<div id="CCCC"><div class="inner">CCCC</div></div>
<div id="DDDD"><div class="inner">DDDD</div></div>
</div>
所以我的网址的到达范围将像这样重置:
example.com/page/#AAAA
and
example.com/page/#BBBB
and
example.com/page/#CCCC
and
example.com/page/#DDDD
我想要的是当人们访问该页面(例如:example.com/page/#BBBB
)时,div#BBBB .inner
将有一个黑色背景,对于 CCCC、DDDD 等 url 的处理方式相同。
这是我到目前为止在 js 上得到的:
if(window.location.hash) {
var hash = window.location.hash.substring(1),
boxes = [];
$('.blog-item-holder > div').each(function(){
if ($(this).attr('id') == hash) {
$(this).children('div').css("background-color:#000000;");
}
});
}
但不知怎的,它似乎不起作用。
最佳答案
尝试使用 .css() 的正确语法:
$(this).children('div').css("background-color","#000000");
或者:
$(this).children('div').css({"background-color":"#000000"});
而不是:
$(this).children('div').css("background-color:#000000;");
关于jquery - 当 url 哈希与 div 的 id 匹配时,对该 div 的子元素执行某些操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23441197/