我试图在点击另一个元素时更改一个元素的CSS。我经常搜索,但没有任何效果。目前我使用下面的代码,但它不起作用。谁能告诉我我错过了什么?
<div id="foo">hello world!</div>
<img src="zoom.png" onclick="myFunction()" />
function myFunction() {
document.getElementById('foo').style.cssText = 'background-color: red; color: white; font-size: 44px';
}
答案 0 :(得分:24)
首先,使用on*
属性添加事件处理程序是实现所需内容的一种非常过时的方式。正如您使用jQuery标记了您的问题,这是一个jQuery实现:
<div id="foo">hello world!</div>
<img src="zoom.png" id="image" />
$('#image').click(function() {
$('#foo').css({
'background-color': 'red',
'color': 'white',
'font-size': '44px'
});
});
更有效的方法是将这些样式放入类中,然后添加该类onclick,如下所示:
$('#image').click(function() {
$('#foo').addClass('myClass');
});
.myClass {
background-color: red;
color: white;
font-size: 44px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<div id="foo">hello world!</div>
<img src="https://i.imgur.com/9zbkKVz.png?1" id="image" />
答案 1 :(得分:14)
试试这个:
<强> CSS 强>
.style1{
background-color:red;
color:white;
font-size:44px;
}
<强> HTML 强>
<div id="foo">hello world!</div>
<img src="zoom.png" onclick="myFunction()" />
<强>的Javascript 强>
function myFunction()
{
document.getElementById('foo').setAttribute("class", "style1");
}
答案 2 :(得分:6)
<script>
function change_css(){
document.getElementById('result').style.cssText = 'padding:20px; background-color:#b2b2ff; color:#0c0800; border:1px solid #0c0800; font-size:22px;';
}
</script>
</head>
<body>
<center>
<div id="error"></div>
<center>
<div id="result"><h2> Javascript Example On click Change Css style</h2></div>
<button onclick="change_css();">Check</button><br />
</center>
</center>
</body>
答案 3 :(得分:1)
使用jquery,你可以这样做:
$('img').click(function(){
$('#foo').css('background-color', 'red').css('color', 'white');
});
这适用于所有img
代码,您应为id
设置image
属性,然后:
$('#image').click(function(){
$('#foo').css('background-color', 'red').css('color', 'white');
});
答案 4 :(得分:1)
在你的代码中你没有使用jquery,所以,如果你想使用它,你需要类似的东西......
$('#foo').css({'background-color' : 'red', 'color' : 'white', 'font-size' : '44px'});
其他方式,如果你不使用jquery,你需要做...
document.getElementById('foo').style = 'background-color: red; color: white; font-size: 44px';
答案 5 :(得分:0)
<div id="foo">hello world!</div>
<img src="zoom.png" id="click_me" />
JS
$('#click_me').click(function(){
$('#foo').css({
'background-color':'red',
'color':'white',
'font-size':'44px'
});
});
答案 6 :(得分:0)
试试这个:
$('#foo').css({backgroundColor:'red', color:'white',fontSize:'44px'});
答案 7 :(得分:0)
此代码似乎工作正常(请参阅此jsfiddle)。你的javascript在你的身体之前定义了吗?
当浏览器显示onclick="myFunction()"
时,它必须知道myFunction
是什么。