【问题标题】:How to apply same function to different div's of the same name?如何将相同的功能应用于同名的不同div?
【发布时间】: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


【解决方案1】:

我试图通过格式来理解,但似乎它只是与定位一个 ID 与一个类有关。 HTML 只允许每页有一个 ID 实例才能有效。在这种情况下,每当您按 ID 定位时,它都可能会影响找到的第一个实例。最好有基于父视频的各种ID。

类似这样的:

<div id="video1" class="hovertext">
    <span class="video-txt">01:54</span>
    <span class="watch-later">
        <input type="image" onclick="showTick()" src="images/watchlater.jpg" />
    </span>
    <span class="tick" style="display:none;">
        <input type="image" onclick="conceal()" onMouseOut="hideTick()" src="images/tick.jpg" />
    </span>
</div>

您的 javascript 也不应该包含在每个父 div 中。然后,您应该定位您正在与之交互的 ID 的“tick”类。

【讨论】:

  • 您好,非常感谢您的帮助!我试图定位 ID 的“tick”类,但似乎没有触发它。我认为我的脚本有问题。你能帮我看看吗?
  • @user3534158 - 我在小提琴中创建了一个更深入的示例,在这里:jsfiddle。它包括样式和 jQuery。使用 jQuery 是为了方便,因为可以操作许多 CSS 类项。如果您需要纯 JavaScript,我可以容纳下一次机会,
  • 祝你好运@user3534158
  • 真棒@user3534158,很高兴听到!如果这个答案确实对你有用,你能接受它作为答案吗?谢谢,编码愉快!
猜你喜欢
  • 2014-05-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-04
  • 2014-12-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多