$(this).children / find无效

时间:2014-04-17 05:41:30

标签: jquery find this children

我有一个非常简单的代码应该可行。我不明白为什么不工作。

我有:

<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(),它会在鼠标结束时出现,所以问题就是单行。

提前致谢!

4 个答案:

答案 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)指向您的目标元素