【发布时间】:2010-11-26 23:48:01
【问题描述】:
我需要有关以下 HTML 的建议:
<!-- Beginning of ROW !-->
<div id="row1">
<div id="entry">
free
<span>some text</span>
<p>DKK</p>
<input type="radio" name="red<% Response.Write(counter); %>" id="radio" value="0" />
</div>
<div id="entry">
week
<span></span>
<p>DKK</p>
<input type="radio" name="red<% Response.Write(counter); %>" id="radio2" value="75" />
</div>
</div>
<!-- End of ROW !-->
<!-- Beginning of ROW !-->
<div id="row2">
.... same as in row 1
</div>
<!-- End of ROW !-->
nth row ..
这里是 jQuery:
$("input").click(function() {
$("input").parent("div").css("background", "url(images/div_bg.png)");
$(this).parent("div").css("background", "url(images/div_bg_hover.png)");
});
我正在尝试做的事情:当我选择一个单选输入时,它所在的 div 应该改变背景,如果只有一行,它可以完美工作,但是例如,如果我尝试首先选择值行,然后我在第二行中选择值。
无线电输入所在的第二行中的 div 更改了背景,但第一行中的 div 将自身反转为其他背景,尽管输入仍处于检查状态。这是我想要实现的目标
这是我实现的目标:
【问题讨论】:
-
您在第 1 行中有两个 id="entry" 的 div。这可能会给您带来一些问题。
-
这是 Joel 的解决方案: 1. 将 id="entry" 更改为 class="entry" 将 jquery 修改为 $("input").click(function() { $(this).parent ("div").css("background", "url(images/div_bg_hover.png)"); $(this).parent("div").siblings("div.entry").css("background" , "url(images/div_bg.png)"); });
标签: jquery select selector row each