javascript设置元素背景色
我有一个小小的javascript函数,当单击具有onclick函数的元素时,它会执行一些操作 我的问题是: 我希望在这个函数中,为具有这个函数onclick的html元素设置字体颜色。但我没有成功。我的代码:javascript设置元素背景色,javascript,jquery,colors,onclick,Javascript,Jquery,Colors,Onclick,我有一个小小的javascript函数,当单击具有onclick函数的元素时,它会执行一些操作 我的问题是: 我希望在这个函数中,为具有这个函数onclick的html元素设置字体颜色。但我没有成功。我的代码: <script type="text/javascript"> function selecteazaElement(id,stock){ document.addtobasket.idOfSelectedItem.value=id;
<script type="text/javascript">
function selecteazaElement(id,stock){
document.addtobasket.idOfSelectedItem.value=id;
var number23=document.addtobasket.number;
number23.options.length=0;
if (stock>=6) stock=6;
for (i=1;i<=stock;i++){
//alert ('id: '+id+'; stock: '+stock);
number23.options[number23.options.length]=new Option(i, i);
}
}
</script>
你知道为什么吗
谢谢 调用函数时的“作用域”是单击的元素,因此您应该能够执行以下操作:
function selecteazaElement(id,stock){
document.addtobasket.idOfSelectedItem.value=id;
var number23 = document.addtobasket.number;
number23.options.length=0;
if (stock>=6){
stock=6;
}
for (var i=1;i<=stock;i++){
//alert ('id: '+id+'; stock: '+stock);
number23.options[number23.options.length]=new Option(i, i);
}
// Alter 'this', which is the clicked element in this case
this.style.backgroundColor = '#000';
}
function selecteazaElement(id、库存){
document.addtobasket.idOfSelectedItem.value=id;
var number23=document.addtobasket.number;
number23.options.length=0;
如果(库存>=6){
股票=6;
}
对于(var i=1;i
让你的css像这样:
<style type='text/css'>
.altBackground {
background-color:#EE178C;
/* color: your color ;
foo: bar */
}
</style>
A.背景{
背景色:#EE178C;
/*颜色:你的颜色;
福:酒吧*/
}
将jQuery click事件附加到“#product_types a”,该事件将从与该选择器匹配的所有元素的父级中删除一个类;然后,将包含您想要的样式的类添加回刚刚单击的元素的父级。这有点繁琐,可以提高效率,但效果很好
我在JSFIDLE中做了一个例子:我建议
$(document).ready(function() {
$('.product_types > li').click(function() {
$('.product_types > li').css('background-color','#FFFFFF');
$(this).css('background-color','#EE178C');
});
});
您的元素可能具有以下代码:
试试这个:
//ON PAGE LOAD
$(document).ready(function() {
//SELECT ALL OF THE LIST ITEMS
$('.product_types > li').each(function () {
//FOR EACH OF THE LIST ITEMS BIND A CLICK EVENT
$(this).click(function() {
//GRAB THE CURRENT LIST ITEM, CHANGE IT BG, RESET THE REST
$(this)
.css('background-color','#EE178C')
.siblings()
.css('background-color','transparent');
});
});
});
如果我是正确的,那么问题是click事件绑定到所有列表项(li)。单击一个列表项时,会对所有列表项触发事件
我在代码中添加了一个简单的.each(),它将循环遍历每个列表项,并分别为每个列表项绑定一个事件
干杯
-罗伯特·赫斯特(Robert Hurst)渲染后的效果如何?如果id和股票不是数字,则需要报价。此外,如果您希望链接更改背景颜色,请更改parentNode.className或parentNode.style.backgroundColor,而不是更改parentNode.style.backgroundColor。如果我们执行某项操作,则传递的参数值是多少警报(id);警报(股票)也不是这样。我已经编辑了我的问题,以防你能给我一些线索。谢谢!尝试“backgroundColor”而不是“backgroundColor”。连接CSS属性的Javascript语法在camelCase中表示。是的-我在发布之前读到过,我对camelCase进行了评论,因为我觉得使用它会更好,因为它可能会节省您的时间我注意到jquery理解这两种语法。
<style type='text/css'>
.altBackground {
background-color:#EE178C;
/* color: your color ;
foo: bar */
}
</style>
$(document).ready(function() {
$('.product_types > li').click(function() {
$('.product_types > li').css('background-color','#FFFFFF');
$(this).css('background-color','#EE178C');
});
});
function selecteazaElement(element)
{
element.style.foregroundColor="#SOMECOLOR";
}
function Reset()
{
for (var i = 1; i <= N; i = i + 1)
{
document.getElementById('product_types'+i).style.backgroundColor="#RESETCOLOR";
}
}
function selecteazaElement(element)
{
Reset();
element.style.backgroundColor="#SOMECOLOR";
}
//ON PAGE LOAD
$(document).ready(function() {
//SELECT ALL OF THE LIST ITEMS
$('.product_types > li').each(function () {
//FOR EACH OF THE LIST ITEMS BIND A CLICK EVENT
$(this).click(function() {
//GRAB THE CURRENT LIST ITEM, CHANGE IT BG, RESET THE REST
$(this)
.css('background-color','#EE178C')
.siblings()
.css('background-color','transparent');
});
});
});