Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.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
Javascript 如果jquery.hasClass不工作,则应该_Javascript_Jquery_Html - Fatal编程技术网

Javascript 如果jquery.hasClass不工作,则应该

Javascript 如果jquery.hasClass不工作,则应该,javascript,jquery,html,Javascript,Jquery,Html,你好,我在标签上有一些不同背景的复选框。有4,6,8个座位的桌子。当我选择一张有8个座位的桌子时,我想用另一张图片改变背景图片,我的箱子蓝色图片对应8个bg img。我试着用hasClass selector来实现这一点,但即使没有类“4”和类“8”,它也总是第一个。 这是我的剧本: <script type="text/javascript"> $(".table").change(function(){ if ($( ".table_bg" ).hasClass( "fo

你好,我在标签上有一些不同背景的复选框。有4,6,8个座位的桌子。当我选择一张有8个座位的桌子时,我想用另一张图片改变背景图片,我的箱子蓝色图片对应8个bg img。我试着用hasClass selector来实现这一点,但即使没有类“4”和类“8”,它也总是第一个。 这是我的剧本:

<script type="text/javascript">
$(".table").change(function(){
    if ($( ".table_bg" ).hasClass( "four" ))
    {
  var c = this.checked ? "url(http://rezerv.city/images/table_bg2.png)" : "url(http://rezerv.city/images/table_bg.png)";
    }
    else if($( ".table_bg" ).hasClass( "six" ))
    {
    var c = this.checked ? "url(http://rezerv.city/images/table6_bg2.png)" : "url(http://rezerv.city/images/table6_bg.png)";
    }
    else if($( ".table_bg" ).hasClass( "eight" ))
    {
    var c = this.checked ? "url(http://rezerv.city/images/table8_bg2.png)" : "url(http://rezerv.city/images/table8_bg.png)";
    }
  $(this).parent().css("background-image", c);
});
</script>

$(“.table”).change(函数(){
if($(“.table_bg”).hasClass(“四”))
{
var c=this.checked?”url(http://rezerv.city/images/table_bg2.png)“:”url(http://rezerv.city/images/table_bg.png)";
}
else if($(“.table_bg”).hasClass(“六”))
{
var c=this.checked?”url(http://rezerv.city/images/table6_bg2.png)“:”url(http://rezerv.city/images/table6_bg.png)";
}
else if($(“.table_bg”).hasClass(“八”))
{
var c=this.checked?”url(http://rezerv.city/images/table8_bg2.png)“:”url(http://rezerv.city/images/table8_bg.png)";
}
$(this.parent().css(“背景图像”,c);
});
html


18人
28人
38%
46人
54人
64人
74人
86人
94人
104人
114人
126人
134人
144人
154人
166人
174人
186人
194人
在这行中

if ($( ".table_bg" ).hasClass( "four" ))
您正在选择所有.table_bg元素,然后hasClass方法将测试其中是否有名为“four”的类

您很可能只想测试复选框的父元素,如下所示。 当复选框更改时,它将测试其父元素是否具有编号的类,并将基于该类返回url

$(“.table”).change(函数(){
if($(this.parent().hasClass(“四”)){
var c=this.checked?”url(http://rezerv.city/images/table_bg2.png)“:”url(http://rezerv.city/images/table_bg.png)";
}else if($(this.parent().hasClass(“六”)){
var c=this.checked?”url(http://rezerv.city/images/table6_bg2.png)“:”url(http://rezerv.city/images/table6_bg.png)";
}else if($(this.parent().hasClass(“八”)){
var c=this.checked?”url(http://rezerv.city/images/table8_bg2.png)“:”url(http://rezerv.city/images/table8_bg.png)";
}
$(this.parent().css(“背景图像”,c);
});

1.
8人
2.
8人
3.
8人

为此我添加了html,sry。它可以工作thnx,但为什么它不能与类选择器一起工作?正如我所说,类选择器正在选择所有表匹配项,而不仅仅是已更改复选框的父项。jQuery选择器返回所有匹配项的数组,函数往往处理数组中的所有元素,而不仅仅是我们希望的元素。
if ($( ".table_bg" ).hasClass( "four" ))