我尝试使用jQuery 1.9.1根据文本框值创建一些按钮CSS更改onload,但我无法做到这一点。假设在页面加载后,如果文本框的值为YES
,则按钮颜色应为绿色,如果另一个文本框的值为NO
,则按钮颜色应为蓝色。在HTML中,只有" blue" class被指定为默认值,但jQuery必须更改该onload。这是我的代码:
$(document).ready(function () {
$('.btn').load(function () {
var isYes = $(this).next('.assignCheck').val('Y');
if (isYes) {
$(this).toggleClass('color-blue color-green');
}
});
});
如何根据页面加载后给出的值更改CSS样式?
答案 0 :(得分:1)
<强>更新强>
工作解决方案,
$('.btn').each(function () {
if ($(this).next('.assignCheck').val() == 'y') {
$(this).toggleClass('color-blue color-green');
}
});
你的第一个问题是这一行:
var isYes = $(this).next('.assignCheck').val('Y');
正在做的事情不是对它进行测试,它正在分配&#39; y&#39;到.assignCheck
的值。你需要的是:
var isYes = ($(this).next('.assignCheck').val() == 'y');
或只是
if ($(this).next('.assignCheck').val() == 'y') {
$(this).toggleClass('color-blue color-green');
}
更多信息@ http://api.jquery.com/val/。
其次,.load()
已被弃用,请使用each()
,因为代码仍会在文档加载上运行。
$('.btn').each(function() { ...