javascript - 你如何将 JavaScript onclick 事件设置为带有 css 的类

标签 javascript css

假设我希望每次用户单击任何链接时都会弹出一个提示“hohoho”。 我是否需要将 onclick="alert('hohoho')" 添加到每个链接,或者我可以使用 CSS 设置它以便它适用于每个链接吗?

最佳答案

你不能只用 CSS 做到这一点,但你可以用 Javascript 和(可选)jQuery 做到这一点。 .

如果你想在没有 jQuery 的情况下这样做:

<script>
    window.onload = function() {
        var anchors = document.getElementsByTagName('a');
        for(var i = 0; i < anchors.length; i++) {
            var anchor = anchors[i];
            anchor.onclick = function() {
                alert('ho ho ho');
            }
        }
    }
</script>

并且不使用 jQuery 并且仅在特定类上执行此操作(例如:hohoho):

<script>
    window.onload = function() {
        var anchors = document.getElementsByTagName('a');
        for(var i = 0; i < anchors.length; i++) {
            var anchor = anchors[i];
            if(/\bhohoho\b/).match(anchor.className)) {
                anchor.onclick = function() {
                    alert('ho ho ho');
                }
            }
        }
    }
</script>

如果您可以使用 jQuery ,那么你可以对所有 anchor 执行此操作:

<script>
    $(document).ready(function() {
        $('a').click(function() {
            alert('ho ho ho');
        });
    });
</script>

这个 jQuery 代码段只将它应用于具有特定类的 anchor :

<script>
    $(document).ready(function() {
        $('a.hohoho').click(function() {
            alert('ho ho ho');
        });
    });
</script>

关于javascript - 你如何将 JavaScript onclick 事件设置为带有 css 的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4588759/

相关文章:

javascript - 将字符串拆分为两个单独的部分

javascript - 如果显示两个 div(并且仅当它们都显示时)将文本向上推

javascript - 在 div 中显示缩放图像的一部分

css - angular SSR 引导应用程序时如何防止 css 动画再次出现

javascript - 不允许使用 Gulp、Restangular、Java EE 和 Wildfly 8 访问 Origin 'http://localhost:8888'

javascript - 从包含 JSON 的关联数组中的值中查找键

javascript - Sequelize如何使用关联表?

javascript - 如何获取字符串中的最后一个字符?

jquery - 我将 css 添加到 head 标签的末尾

javascript - 我是否坚持为图像标签强制固定图像大小?