javascript - 如何在html超链接中调用函数

标签 javascript jquery html function hyperlink

好吧,我已经在这里搜集了很多问题,并且我已经从这些问题中得到了我能做的,但它似乎仍然没有用。 (我对 JavaScript/jQuery 还很陌生。)

这是 jsFiddle:https://jsfiddle.net/5ffhoqpt/1/

var showPhotography = function () {
    $(".design").hide();
    $(".film").hide();
    $(".web").hide();
}

var showDesign = function () {
    $(".photography").hide();
    $(".film").hide();
    $(".web").hide();
}
var showWeb = function () {
    $(".design").hide();
    $(".film").hide();
    $(".photography").hide();
}

var showFilm = function () {
    $(".design").hide();
    $(".photography").hide();
    $(".web").hide();
}

我试图让每个链接只显示具有相应类的 div,而其他的应该被隐藏。 (我现在意识到我忘记显示链接名称对应的类,但这不能解决我的问题)我点击链接,什么都不会被隐藏,控制台中也没有错误,所以我真的没有知道从哪里开始排除故障。

解决方案不能包含#tags,因为我需要在多个不同的部分和容器上重用该类。我的网站上还有其他可用的 javascript,因此 jquery 的链接不会成为问题。它一定是我的代码中的其他东西阻止了下面所有的工作解决方案在我的网站上工作。

最佳答案

你可以这样做:

Full demo

<a href="" data-action="showPhotography">Photography</a>

var showPhotography = function () {
        $(".design").hide();
        $(".film").hide();
        $(".web").hide();
    }

var showDesign = function () {
    $(".photography").hide();
    $(".film").hide();
    $(".web").hide();
}
var showWeb = function () {
    $(".design").hide();
    $(".film").hide();
    $(".photography").hide();
}

var showFilm = function () {
    $(".design").hide();
    $(".photography").hide();
    $(".web").hide();
}

var actions = {
    showPhotography: showPhotography,
  showDesign: showDesign,
  showWeb: showWeb,
  showFilm : showFilm
}

$("[data-action]").on('click', function(e) {
  e.preventDefault();
  var action = $(this).data('action');
  actions[action]()
});

关于javascript - 如何在html超链接中调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43988351/

相关文章:

javascript - 将字符串化数字转换回数字

javascript - "double quotes"在chrome中是什么意思? (这很奇怪)

javascript - 如何在 rulerguides.js 中找到精确的可拖动网格线位置?

javascript - 来自 ICEcast 的信息

javascript - Vuejs 嵌套组件、模板和使用 Modals

javascript - 通过属性过滤 JSON 结果,如果 obj. React.js 的属性为 true

javascript - 当我从浏览器控制台禁用 javascript 时,预加载器图标未隐藏

javascript - 使可折叠标题正确自适应

javascript - Jquery - 自动将当年月份添加到下拉列表

javascript - 如何使用 PHP、javascript mysql 事务将输入的数组值插入到数据库中