在鼠标悬停时根据子 div 的属性设置父 div 的背景图像
Set background image of parent div based on attribute of child div on mouseover
出于某种原因,这对我不起作用。我有以下代码。
将鼠标悬停在 homeShowingWrapper
div 上时,homeHero
div 的背景应更改为 data-featured-image
属性的值 homeShowingWrapper
div.
这是我的 HTML 结构:
<div id="homeHero">
<div class="homeShowingWrapper" data-featured-image="/uploads/Hover-Background.jpg">
Content
</div>
</div>
还有我的 JQuery 函数:
jQuery( document ).ready( function( $ ) {
$("#homeHero").css("background-image" , "url(/uploads/Initial-Background.jpg);");
$(".homeShowingWrapper").mouseover(function() {
// Background-image
var background = $(this).attr('data-featured-image');
$("#homeHero").css("background-image" , "url(" + background + ");");
});
});
知道为什么 $("#homeHero").css("background-image" , "url(" + background + ");");
行没有应用背景图片吗?
正如 Nawed Khan 在评论中提到的,读取数据属性的正确方法是 data()
。
I set up a jsFiddle排查发现,不仅需要用data('featured-image')
,jQuery.css()
中的分号也需要省略让它工作。
出于某种原因,这对我不起作用。我有以下代码。
将鼠标悬停在 homeShowingWrapper
div 上时,homeHero
div 的背景应更改为 data-featured-image
属性的值 homeShowingWrapper
div.
这是我的 HTML 结构:
<div id="homeHero">
<div class="homeShowingWrapper" data-featured-image="/uploads/Hover-Background.jpg">
Content
</div>
</div>
还有我的 JQuery 函数:
jQuery( document ).ready( function( $ ) {
$("#homeHero").css("background-image" , "url(/uploads/Initial-Background.jpg);");
$(".homeShowingWrapper").mouseover(function() {
// Background-image
var background = $(this).attr('data-featured-image');
$("#homeHero").css("background-image" , "url(" + background + ");");
});
});
知道为什么 $("#homeHero").css("background-image" , "url(" + background + ");");
行没有应用背景图片吗?
正如 Nawed Khan 在评论中提到的,读取数据属性的正确方法是 data()
。
I set up a jsFiddle排查发现,不仅需要用data('featured-image')
,jQuery.css()
中的分号也需要省略让它工作。