Javascript 如果jquery.hasClass不工作,则应该
你好,我在标签上有一些不同背景的复选框。有4,6,8个座位的桌子。当我选择一张有8个座位的桌子时,我想用另一张图片改变背景图片,我的箱子蓝色图片对应8个bg img。我试着用hasClass selector来实现这一点,但即使没有类“4”和类“8”,它也总是第一个。 这是我的剧本: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
<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" ))