Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery CSS选择器的Javascript替代方案_Jquery_Html_Css - Fatal编程技术网

Jquery CSS选择器的Javascript替代方案

Jquery CSS选择器的Javascript替代方案,jquery,html,css,Jquery,Html,Css,使用jQuery,当图像悬停在每篇文章中时,如何更改元素的样式 下面是HTML结构的一个示例: <img src="#" class="postone"> <div class="description"> <p><span class="postone"> text </span> other text </p> </div> <img src="#" class="posttwo">

使用jQuery,当图像悬停在每篇文章中时,如何更改
元素的样式

下面是HTML结构的一个示例:

<img src="#" class="postone">

<div class="description">
    <p><span class="postone"> text </span> other text </p>
</div>


<img src="#" class="posttwo">

<div class="description">
    <p><span class="posttwo"> text </span> other text </p>
</div>
您的类选择器中缺少一个
,您还需要从
$(this)
中删除双引号。在代码中添加mouseout函数

您的类选择器中缺少一个
,您还需要从
$(this)
中删除双引号。在代码中添加mouseout函数

两个问题:

  • 这是一个关键字,而不是字符串,因此应该删除引号

    var className = $(this).attr('class');
    
  • 选择器中缺少一个句点。
    className
    值不包含此句点,因为
    class
    属性包含类名,而不是类选择器,因此您必须自己将其放入选择器字符串中

    $("span." + className).css("color", "#fff");
    
  • 话虽如此,我真的不明白你为什么不能用CSS做到这一点:

    img:hover+。描述范围{
    颜色:#fff;
    }
    
    两个问题:

  • 这是一个关键字,而不是字符串,因此应该删除引号

    var className = $(this).attr('class');
    
  • 选择器中缺少一个句点。
    className
    值不包含此句点,因为
    class
    属性包含类名,而不是类选择器,因此您必须自己将其放入选择器字符串中

    $("span." + className).css("color", "#fff");
    
  • 话虽如此,我真的不明白你为什么不能用CSS做到这一点:

    img:hover+。描述范围{
    颜色:#fff;
    }
    
    您可能会使用CSS。你为什么不想呢?
    $(“span”+className)
    应该是
    $(“span”+className)
    …而
    $(“此”)
    应该是
    $(此)
    ,是的,但实际上–使用CSS。上次我检查时,非常好。你需要支持IE6吗?你可能会使用CSS。你为什么不想呢?
    $(“span”+className)
    应该是
    $(“span”+className)
    …而
    $(“此”)
    应该是
    $(此)
    ,是的,但实际上–使用CSS。上次我检查时,非常好。您需要支持IE6吗?最好解释一下您更改了什么以及更改的原因,而不是让OP查找更改并猜测更改的原因。@ajp15243,我已经用解释更新了我的答案。谢谢。最好解释一下你改变了什么以及为什么改变,而不是让OP搜寻这些改变并猜测它们为什么起作用。@ajp15243,我已经用解释更新了我的答案。谢谢。我不确定你会如何使用css——所以我将使用css而不是javascript!时钟,反过来我怎么做?当您将鼠标悬停在
    上时,图像边框会改变颜色--我很确定你会javascript@SAMTHEMAN999:嗯,是的,你不能使用CSS来定位它。我不确定你会如何使用CSS——所以我将使用CSS而不是javascript!时钟,反过来我怎么做?当您将鼠标悬停在
    上时,图像边框会改变颜色--我很确定你会javascript@SAMTHEMAN999:嗯,是的,那么你就不能用CSS来瞄准它了。