【发布时间】:2014-04-15 02:09:18
【问题描述】:
当我点击稍后观看图标时,勾号会正确显示。
但是,当我将相同的 div 格式应用到另一个部分时,勾号将出现在第一个 div 上。
这是我的 HTML 和 JavaScript:
<div class="hovertext"> <span class="video-txt">01:54</span>
<span class="watch-later"><input type="image" onclick="showTick()" src="images/watchlater.jpg" /></span>
<span id="tick" style="display:none;"><input type="image" onclick="conceal()" onMouseOut="hideTick()" src="images/tick.jpg" /></span>
<script type="text/javascript">
function conceal() {
if (document.getElementById('tick').style.display == 'block') {
document.getElementById('tick').style.display = 'none';
}
}
function showTick() {
if (document.getElementById('tick').style.display == 'none') {
document.getElementById('tick').style.display = 'block';
}
}
function hideTick() {
if (document.getElementById('tick').style.display == 'block') {
document.getElementById('tick').style.display = 'none';
}
}
</script>
</div>
它看起来像这样
我希望它看起来像这样。如何更改 JavaScript 或 div 内联,使其不会影响任何其他 div 但仍运行相同的功能?
请,任何帮助将不胜感激。
【问题讨论】:
-
页面上只能有一个具有给定 ID 的元素。您应该将
this传递给函数,并遍历DOM 到您想要的元素。一个基本的 JS/DOM 编程教程会对你有所帮助。
标签: javascript html css function