更改'李'css样式基于单击的单选按钮
change 'li' css style based on radio button clicked
我想根据选中的单选按钮更改页面上元素的css样式。我在页面上动态添加了元素,每个元素都有3个单选按钮,我希望当用户按下每个元素上的单选按钮1,2或3时,每个元素的样式都会改变。。。到目前为止,我可以更改页面上的所有元素样式,但我只喜欢更改特定的元素样式。。
我相信这是可能的,但我不知道如何做到这一点,可能是通过传递每个元素的ID?!请帮忙吗?!
这是我到目前为止的代码。。。
$(document).ready(function(){
$('input[type="radio"]').click(function() {
if ($(this).attr("value") == "H") {
$("#somestyle li").css("border", "black");
}
if ($(this).attr("value") == "M") {
$("#somestyle li").css("border", "blue");
}
if ($(this).attr("value") == "L") {
$("#somestyle li").css("border", "yellow");
}
});
});
这段代码改变了所有li
元素的样式,但不是我单击的那个。如何只更改一种元素样式?!如有任何帮助,我们将不胜感激。感谢
您需要使用closest
(或parent
)方法来只获取相应的li
元素。因此:
if (this.value == "H") {
$(this).closest("li").css("border", "black");
}
对于其他尺寸,以此类推。
但是,您也可以通过使用CSS类而不是内联样式来显著改进代码。因此代码将变为:
$('input[type="radio"]').click(function () {
$(this).closest("li").addClass(this.value);
});
并提供这样的类:
li.H {
border-color: black;
}
好处是显而易见的:用背景、颜色等来设计li元素的样式要简单得多。
演示:http://jsfiddle.net/2mu0tdzo/
相关文章:
- Javascript:单击单选按钮时显示图像
- 单击单选按钮时选中所有复选框
- 单击单选按钮禁用另一个单选按钮
- 单击单选按钮时不会禁用下拉菜单
- 单击单选按钮,添加/删除表单元素的类
- 如何在单击复选框按钮时制作单选按钮
- 单击单选按钮值更改
- 单击单选按钮时禁用
- 单击单选按钮时递增/递减 jQuery
- 尝试使用 JavascriptExecutor 使用 Selenium Webdriver 单击单选按钮时出错
- 在jquery或javascript或angular中单击单选按钮或复选框后返回呼叫
- 单击单选按钮时如何更改背景颜色
- 单击单选按钮时更改文本
- 单击单选按钮时更改特定地标的颜色
- 单击单选按钮设置新会话
- 如何在 JSP 中的“单击”复选框时创建删除按钮
- Vue.js 使用 v-on:单击单选按钮
- 单击单选按钮并显示图像
- 如何在未单击单选按钮时防止表单提交
- 单击单选按钮时更改变量的值