Javascript 制作一个按钮以更改父项';CSS的classname属性
因此,我有一个javascript函数来更改div的类名Javascript 制作一个按钮以更改父项';CSS的classname属性,javascript,html,css,webkit,Javascript,Html,Css,Webkit,因此,我有一个javascript函数来更改div的类名 function flip (event) { var element = event.currentTarget; element.className = (element.className == 'card') ? 'card flipped' : 'card'; } 如何使我的onclick=“flip(event)”可以附加到一个按钮(或者最好是一个图像)上,然后按钮将翻转卡片,而不是仅仅在div内单击 <div
function flip (event)
{
var element = event.currentTarget;
element.className = (element.className == 'card') ? 'card flipped' : 'card';
}
如何使我的onclick=“flip(event)”
可以附加到一个按钮(或者最好是一个图像)上,然后按钮将翻转卡片,而不是仅仅在div内单击
<div id="card" class="card">
<p>
whatever
</p>
<img onclick="flip(event)" src="foo">
</div>
无论什么
我需要在javascript函数中更改什么?这应该可以
<img onclick="javascript:flip('card');" />
function flip (elementId)
{
var element = document.getElementById(elementId)
element.className = (element.className == 'card') ? 'card flipped' : 'card';
}
函数翻转(elementId)
{
var element=document.getElementById(elementId)
element.className=(element.className='card')?'card fliped':'card';
}
这应该行得通
<img onclick="javascript:flip('card');" />
function flip (elementId)
{
var element = document.getElementById(elementId)
element.className = (element.className == 'card') ? 'card flipped' : 'card';
}
函数翻转(elementId)
{
var element=document.getElementById(elementId)
element.className=(element.className='card')?'card fliped':'card';
}
$('imgSelector')。单击(函数(){
$(“.card”).toggleClass('card fliped')
}));
使用jQuery,您可以这样做
使用简单的javascript,您必须为DIV提供一个id,然后不用event.target,只需使用document.getElementById('myDIVID') $('imgSelector')。单击(函数(){
$(“.card”).toggleClass('card fliped')
}));
使用jQuery,您可以这样做
使用简单的javascript,您必须为DIV提供一个id,然后不用event.target,只需使用document.getElementById('myDIVID') 事件对象具有对发起事件的元素的引用。 您可以使用
parentNode
备份树
这将适用于您的html示例
function flip (event)
{
var image = event.target || event.srcElement;
var div = image.parentNode;
div.className = (div.className == 'card') ? 'card flipped' : 'card';
}
target
是ff/chrome中的原始元素,srcement
是IE中的相同元素。ff/chrome中的currentTarget
是调用处理程序的元素,它可能不是您单击的相同元素。例如,如果您在div的右侧附加了一个click处理程序,那么当您单击其中的图像时,它将触发。当div的处理程序启动时,currentTarget
将是div,target
将是映像。IE没有与我所知道的currentTarget
并行。事件对象引用了发起事件的元素。
您可以使用parentNode
备份树
这将适用于您的html示例
function flip (event)
{
var image = event.target || event.srcElement;
var div = image.parentNode;
div.className = (div.className == 'card') ? 'card flipped' : 'card';
}
target
是ff/chrome中的原始元素,srcement
是IE中的相同元素。ff/chrome中的currentTarget
是调用处理程序的元素,它可能不是您单击的相同元素。例如,如果您在div的右侧附加了一个click处理程序,那么当您单击其中的图像时,它将触发。当div的处理程序启动时,currentTarget
将是div,target
将是映像。据我所知,IE没有类似于currentTarget
。我不确定,但我认为如果您有几个类“card”的元素,并且您只想更改单击的元素,John solution可能会有问题
为此,请使用“this”作为参数:
<img onclick="javascript:flip(this.parentElement);" />
function flip (element)
{
element.className = (element.className == 'card') ? 'card flipped' : 'card';
}
函数翻转(元素)
{
element.className=(element.className='card')?'card fliped':'card';
}
我不确定,但我认为如果类“card”有多个元素,并且只想更改单击的元素,John solution可能会有问题
为此,请使用“this”作为参数:
<img onclick="javascript:flip(this.parentElement);" />
function flip (element)
{
element.className = (element.className == 'card') ? 'card flipped' : 'card';
}
函数翻转(元素)
{
element.className=(element.className='card')?'card fliped':'card';
}
问题没有指定jquery。问题没有指定jquery。好吧。。。IE缺乏可比性似乎永远不会结束!这是非常有益的。我确信,从我的问题的性质来看,显然我还有很多关于javascript的知识需要学习。这有助于我了解我的修复是如何工作的。干杯好。。。IE缺乏可比性似乎永远不会结束!这是非常有益的。我确信,从我的问题的性质来看,显然我还有很多关于javascript的知识需要学习。这有助于我了解我的修复是如何工作的。干杯