我有一个非常简单的代码应该可行。我不明白为什么不工作。
我有:
<div class="mix category-1" onmouseover="showdescrmini()">
<img src="large-464x400.jpeg" class="coverimgminipost">
<h2 class="miniposttitle">Title</h2>
</div>
脚本:
function showdescrmini()
{
$(this).children('.miniposttitle').css('color','red');
}
我已经尝试过:
function showdescrmini()
{
$(this).find('.miniposttitle').css('color','red');
}
如果我在脚本中放置一个alert(),它会在鼠标结束时出现,所以问题就是单行。
提前致谢!
答案 0 :(得分:1)
在您的函数中,this
指向window
,而不是div元素。使用onmouseover="showdescrmini(this)"
,您的功能应如下所示:
function showdescrmini(div)
{
$(div).children('.miniposttitle').css('color','red');
}
答案 1 :(得分:0)
//In html you should pass this in function
<div class="mix category-1" onmouseover="showdescrmini(this)">
<img src="large-464x400.jpeg" class="coverimgminipost">
<h2 class="miniposttitle">Title</h2>
</div>
//in javascript accept this as parameter thisObj
function showdescrmini(thisObj)
{
$(thisObj).children('.miniposttitle').css('color','red');
}
答案 2 :(得分:0)
您应该在函数中传递一个参数,如下所示,然后调用函数目标的函数,该函数目标要执行函数,使用this
作为当前元素:
脚本...
function showdescrmini(target)
{
$(target).children('.miniposttitle').css('color','red');
}
HTML ...
<div class="mix category-1" onmouseover="showdescrmini(this)">
<img src="large-464x400.jpeg" class="coverimgminipost">
<h2 class="miniposttitle">Title</h2>
</div>
但是我建议你不要在你的js脚本文件中使用内联javascript到目前为止这样的用法:
$('.mix.category-1').hover(function(){
$(this).children('.miniposttitle').css('color','red');
});
答案 3 :(得分:0)
在您的代码中,函数$(this)
指向DOM根
试试这个
$(".mix.category-1").mouseover(function(){
$(this).children('.miniposttitle').css('color','red');
});
$(this)
指向您的目标元素