- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
$("#container").each(function () {
$(this).find('.taskName').each(function () {
if ($(this).attr('value') == 'Each') {
$(this).css('div#gold div.gold', 'gold');
$(this).find('.taskName').each(function () {
if ($(this).attr('value') == 'Offer') {
$(this).css('div#red div.red', 'red');
$(this).find('.taskName').each(function () {
if ($(this).attr('value') == 'Buying') {
$(this).css('div#green div.green', 'green');
}
});
});
<div id="container">
<div id="goldpricebox1">
<div id="goldpricebox2">
<input id="coin" type="text" id="text" name="text_name" style="width: 35px; style=" height: 21px; maxlength=3 />
<div id="goldselectbox1">
<div id="goldselectbox2">
<div id="goldselectbox3">
<select name="qty">
<option value="Each" selected>Each</option>
<option value="All"> All</option>
<option value="Offer">Offer</option>
<option value="Buying">Buying</option>
</select>
</div>
</div>
</div>
<div id="goldpricebox3">
<div id="goldpricebox4">
<div class="goldpricebox5"></div>
</div>
</div>
</div>
</div>
</div>
input#coin {
font-family:Calibri, sans-serif, Geneva, Verdana;
font-size:1em;
color: black;
border: none;
text-align: center;
background-image: url(http://kennenmen.netai.net/images/gcoin.png)
}
input {
display: block;
margin : 0 auto;
height: 14px;
}
select {
font-family:Calibri, sans-serif, Geneva, Verdana;
font-size:1em;
color: black;
border: none;
text-align: center;
-webkit-appearance: none;
}
select {
display: block;
margin : 0 auto;
}
/*GOLD*/
div#goldpricebox1 {
background: none;
width:auto;
height:auto;
border:1px solid #361801;
float:left;
border-top-left-radius: 10px;
border-top-right-radius: 10px;
border-bottom-left-radius: 10px;
border-bottom-right-radius: 10px;
}
div#goldpricebox2 {
background-color: #EEC43A;
border:1px solid #FDFF82;
border-top-left-radius: 10px;
border-top-right-radius: 10px;
border-bottom-left-radius: 10px;
border-bottom-right-radius: 10px;
padding-left: 5px;
padding-right: 5px;
padding-bottom: 5px;
}
div#goldpricebox3 {
border:1px solid #FDFF82;
}
div#goldpricebox4 {
border:1px solid #361801;
}
div.goldpricebox5 {
border:1px solid #E1E1E1;
background: white;
width: 153px;
min-height: 51px;
height: auto;
padding-botttom:25px;
}
div#goldselectbox1 {
border:1px solid #FDFF82;
}
div#goldselectbox2 {
border:1px solid #361801;
}
div#goldselectbox3 {
border:1px solid #E1E1E1;
background: white;
}
/*GREEN*/
div#greenpricebox1 {
background: none;
width:auto;
height:auto;
border:1px solid #013601;
float:left;
border-top-left-radius: 10px;
border-top-right-radius: 10px;
border-bottom-left-radius: 10px;
border-bottom-right-radius: 10px;
}
div#greenpricebox2 {
background-color: #39EE39;
border:1px solid #83FF83;
border-top-left-radius: 10px;
border-top-right-radius: 10px;
border-bottom-left-radius: 10px;
border-bottom-right-radius: 10px;
padding-left: 5px;
padding-right: 5px;
padding-bottom: 5px;
}
div#greenpricebox3 {
border:1px solid #83FF83;
}
div#greenpricebox4 {
border:1px solid #013601;
}
div.greenpricebox5 {
border:1px solid #E1E1E1;
background: white;
width: 153px;
min-height: 51px;
height: auto;
padding-botttom:25px;
}
div#greenselectbox1 {
border:1px solid #83FF82;
}
div#greenselectbox2 {
border:1px solid #013601;
}
div#greenselectbox3 {
border:1px solid #E1E1E1;
background: white;
}
/* Red */
div#redpricebox1 {
background: none;
width:auto;
height:auto;
border:1px solid #360101;
float:left;
border-top-left-radius: 10px;
border-top-right-radius: 10px;
border-bottom-left-radius: 10px;
border-bottom-right-radius: 10px;
}
div#redpricebox2 {
background-color: #EE3939;
border:1px solid #FF8383;
border-top-left-radius: 10px;
border-top-right-radius: 10px;
border-bottom-left-radius: 10px;
border-bottom-right-radius: 10px;
padding-left: 5px;
padding-right: 5px;
padding-bottom: 5px;
}
div#redpricebox3 {
border:1px solid #FF8383;
}
div#redpricebox4 {
border:1px solid #360101;
}
div.redpricebox5 {
border:1px solid #E1E1E1;
background: white;
width: 153px;
min-height: 51px;
height: auto;
padding-botttom:25px;
}
div#redselectbox1 {
border:1px solid #FF8383;
}
div#redselectbox2 {
border:1px solid #360101;
}
div#redselectbox3 {
border:1px solid #E1E1E1;
background: white;
}
我想做什么?
我正在尝试根据选择/选项框更改 div 框颜色。
所有和每个都应该使盒子变成金色
购买时包装盒应为绿色
优惠应使框呈红色
我尝试了什么?
作为编码新手,我还没有尝试过更改 jquery 的所有方法,但没有结果。
我必须保留什么?
至关重要的是,我将所有样式保留在 .css 中,并保留所有 div 的当前 .class 和 #ids。
盒子应该是什么样子
http://jsfiddle.net/GHuwV/4/
感谢任何可以帮助我的人,非常感谢您的帮助!
最佳答案
我有点讨厌这种方法,它看起来本质上过于复杂,但这有效(尽管我几乎希望它没有):
// tying the selected option to the required colours:
var map = {
'Each' : 'gold',
'All' : 'gold',
'Offer' : 'red',
'Buying' : 'green'
},
// using the currently selected value to identify what string we're looking for in the id
oldColour = map[$('#container select').val()];
$('select').change(function(){
// caching variables, though it may not be needed
var that = this,
$that = $(that),
container = $('#container'),
colour = map[that.value];
// finding all the elements whose id starts with the currently-selected colour
container.find('[id^="' + oldColour + '"]').each(function(){
// iterating over each of those elements, replacing the oldColour with the new colour
this.id = this.id.replace(oldColour,colour);
});
// updating the oldColour variable for the next time
oldColour = colour;
});
代码的改进方法如下,它依赖于更改 #container
对象的单个类,而该类又依赖于更新的 HTML:
<div id="container">
<div class="pricebox1">
<div class="pricebox2">
<input id="coin" type="text" id="text" name="text_name" style="width: 35px; style=" height: 21px; maxlength=3 />
<div class="selectbox1">
<div class="selectbox2">
<div class="selectbox3">
<select name="qty">
<option value="Each" selected>Each</option>
<option value="All"> All</option>
<option value="Offer">Offer</option>
<option value="Buying">Buying</option>
</select>
</div>
</div>
</div>
<div class="pricebox3">
<div class="pricebox4">
<div class="pricebox5"></div>
</div>
</div>
</div>
</div>
</div>
使用极其简单的 jQuery:
var map = {
'Each' : 'gold',
'All' : 'gold',
'Offer' : 'red',
'Buying' : 'green'
};
// the following adds the class of the currently-selected colour to the #container
$('#container').addClass(map[$('#container select').val()]);
$('select').change(function(){
var that = this;
$('#container').attr('class', map[that.value]);
});
上面的 CSS 也得到了简化:
/* styles the elements when the #container is .gold */
.gold .pricebox1,
.gold .pricebox2,
.gold .pricebox3,
.gold .pricebox4 {
background-color: #EEC43A;
border:1px solid #FDFF82;
}
/* styles the elements when the #container is .green */
.green .pricebox1,
.green .pricebox2,
.green .pricebox3,
.green .pricebox4 {
background-color: #0f0;
border:1px solid #FDFF82;
}
/* styles the elements when the #container is .red */
.red .pricebox1,
.red .pricebox2,
.red .pricebox3,
.red .pricebox4 {
background-color: #f00;
border:1px solid #FDFF82;
}
/* base-styles that don't change */
.pricebox1 {
background: none;
width:auto;
height:auto;
border:1px solid #361801;
float:left;
border-radius: 10px;
}
.pricebox2 {
background-color: #EEC43A;
border:1px solid #FDFF82;
border-radius: 10px;
padding-left: 5px;
padding-right: 5px;
padding-bottom: 5px;
}
.pricebox3 {
border:1px solid #FDFF82;
}
.pricebox4 {
border:1px solid #361801;
}
.pricebox5 {
border:1px solid #E1E1E1;
background: white;
width: 153px;
min-height: 51px;
height: auto;
padding-bottom:25px;
}
.selectbox1 {
border:1px solid #FDFF82;
}
.selectbox2 {
border:1px solid #361801;
}
.selectbox3 {
border:1px solid #E1E1E1;
background: white;
}
关于jquery - 如何更改多个 div id/类以使样式发生变化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16127136/
SO亲爱的 friend 们: 2014 年 3 月 18 日。我正在处理一种情况,在使用 ng-repeat 时,数组内的元素(我从 Json 字符串中获取)更改了原始顺序。 需要明确的是,数组中的
有很多问题询问如何在 JavaScript 单击处理程序中更改 div 的类,例如,此处:Change Div style onclick .我理解得很好(只需更改 .className),并且它有效
我从access导入了一个数据库到mysql,但其中一个表的列名“股数”带有空格,但我尝试更改、替换甚至删除列名,但失败了。任何人都可以帮助解决这一问题 String UpdateQuary = "U
我正在做一个随机的学校元素。 目前,我有一个包含两个 CSS 的页面。一种用于正常 View ,一种用于残障人士 View 。 此页面还包括两个按钮,它们将更改使用的样式表。 function c
我需要使用 javascript 更改 HTML 元素中的文本,但我不知道该怎么做。 ¿有什么帮助吗? 我把它定义成这样: Text I want to change. 我正在尝试这样做: docum
我在它自己的文件 nav_bar.shtml 中有一个主导航栏,每个其他页面都包含该导航栏。这个菜单栏是一个 jQuery 菜单栏(ApyCom 是销售这些导航栏的公司的名称)。导航栏上的元素如何确定
我正在摆弄我的代码,并开始想知道这个变化是否来自: if(array[index] == 0) 对此: if(!array[index] != 0) 可能会影响任何代码,或者它只是做同样的事情而我不需
我一直在想办法调整控制台窗口的大小。这是我正在使用的函数的代码: #include #include #define WIDTH 70 #define HEIGHT 35 HANDLE wHnd;
我有很多情况会导致相同的消息框警报。 有没有比做几个 if 语句更简单/更好的解决方案? PRODUCTS BOX1 BOX2 BOX3
我有一个包含这些元素的 XELEMENT B Bob Petier 19310227 1 我想像这样转换前缀。 B Bob Pet
我使用 MySQL 5.6 遇到了这种情况: 此查询有效并返回预期结果: select * from some_table where a = 'b' and metadata->>"$.countr
我想知道是否有人知道可以检测 R 中日期列格式的任何中断的包或函数,即检测日期向量格式更改的位置,例如: 11/2/90 12/2/90 . . . 15/Feb/1990 16/Feb/1990 .
我希望能够在小部件显示后更改 GtkButton 的标签 char *ButtonStance == "Connect"; GtkWidget *EntryButton = gtk_button_ne
我正在使用 Altera DE2 FPGA 开发板并尝试使用 SD 卡端口和音频线路输出。我正在使用 VHDL 和 C 进行编程,但由于缺乏经验/知识,我在 C 部分遇到了困难。 目前,我可以从 SD
注意到这个链接后: http://www.newscientist.com/blogs/nstv/2010/12/best-videos-of-2010-progress-bar-illusion.h
我想知道在某些情况下,即使剧本任务已成功执行并且 ok=2,ansible 也会显示“changed=0”。使用 Rest API 和 uri 模块时会发生这种情况。我试图找到解释但没有成功。谁能告诉
这个问题已经有答案了: 已关闭12 年前。 Possible Duplicate: add buttons to push notification alert 是否可以在远程通知显示的警报框中指定有
当您的 TabBarController 中有超过 5 个 View Controller 时,系统会自动为您设置一个“更多” View 。是否可以更改此 View 中导航栏的颜色以匹配我正在使用的颜
如何更改.AndroidStudioBeta文件夹的位置,默认情况下,该文件夹位于Windows中的\ .. \ User \ .AndroidStudioBeta,而不会破坏任何内容? /编辑: 找
我目前正在尝试将更具功能性的编程风格应用于涉及低级(基于 LWJGL)GUI 开发的项目。显然,在这种情况下,需要携带很多状态,这在当前版本中是可变的。我的目标是最终拥有一个完全不可变的状态,以避免状
我是一名优秀的程序员,十分优秀!