Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.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 如何更改背景图像?_Jquery_Html_Css - Fatal编程技术网

Jquery 如何更改背景图像?

Jquery 如何更改背景图像?,jquery,html,css,Jquery,Html,Css,这听起来很容易做到,但我似乎无法做到。其思想是,当单击“a”标记时,检查它是否有一个名为“collapsed”的类。如果是,请更改“ul”背景(a标签是其一部分)。我不知道点击了哪个“a”标签,所以我不知道它是“ul”的一部分的id。。。我想我可以钻出来找到父母的“ul”,但它不起作用 HTML: <ul class="some-class" id="some-id-1"> <a href="#" id="id-1">something</a>

这听起来很容易做到,但我似乎无法做到。其思想是,当单击“a”标记时,检查它是否有一个名为“collapsed”的类。如果是,请更改“ul”背景(a标签是其一部分)。我不知道点击了哪个“a”标签,所以我不知道它是“ul”的一部分的id。。。我想我可以钻出来找到父母的“ul”,但它不起作用

HTML:

<ul class="some-class" id="some-id-1">  
   <a href="#" id="id-1">something</a>
   <li>  
      <a class="collapsed">something else</a>  
   </li>  
</ul>  

<ul class="some-class" id="some-id-2">  
   <a href="#" id="id-2">something</a>
   <li>  
      <a class="collapsed">something else</a>  
   </li>  
</ul>  

<ul class="some-class" id="some-id-3">  
   <a href="#" id="id-3">something</a>
   <li>  
      <a class="collapsed">something else</a>  
   </li>  
</ul>  
我做错了什么?欢迎您提出任何建议……

尝试以这种方式使用JQuery函数-

$('a').click(function() {  
   var cName = $(this).attr('class');  
   if(cName == 'collapsed') {
        $(this).closest('ul').css('background','url(img/red.png) 0 0');
   };
});  

首先,
this
应该像
$(this)
一样使用


JQuery就是你做错的地方。@Anonymous,这种评论对任何人都没有帮助。如果JQuery不是最好的解决方案,那么提供一个替代选项怎么样?我只是建议他使用常规JavaScript使代码更具可读性。“就这些了。”杰森,谢谢你。我想我不需要再说了,我们可能在想同一件事;o) @Anonymous这是一个答案,下面有一个详细的(建设性的)例子。是的!天才!太棒了!谢谢o)
$('a').click(function() {  
   var cName = $(this).attr('class');  
   if(cName == 'collapsed') {
        $(this).closest('ul').css('background','url(img/red.png) 0 0');
   };
});  
$('a').click(function() {
   // Change the first .collapsed element next to the clicked a
   $(this).next('.collapsed').css('background-color', 'url(img/red.png) 0 0');
});