【问题标题】:Creating Functions in JQuery to Avoid Writing the Same Code Again在 JQuery 中创建函数以避免再次编写相同的代码
【发布时间】:2016-07-04 08:31:43
【问题描述】:

我目前正在使用 Twitch API,它接收有关特定频道的信息,然后将其添加到 HTML 文档中。预先设置信息的代码被反复使用。我想知道您究竟如何创建一个可以避免重复并在整个文档中被调用的函数?

codepen 可以在这里找到:http://codepen.io/sibraza/pen/AXRRvq

这里是反复使用的 JQuery 代码:

$("#follower-Info").prepend("<div class ='row'>" + "<div class = 'col-md-4'>" + "<img src='" + logo + "'>" + "</div>" + "<div class='col-md-4'>" + name +"</div>"+ "<div class ='col-md-4'>" + status + "</div></div>")

这样的工作是否可行:

function addThis(){

        $("#follower-Info").prepend("<div class ='row'>" + "<div class = 'col-md-4'>" + "<img src='" + logo + "'>" + "</div>" + "<div class='col-md-4'>" + name +"</div>"+ "<div class ='col-md-4'>" + status + "</div></div>")

   }  

然后我可以在每个 $.getJSON 请求之后调用 addThis()。

【问题讨论】:

    标签: javascript jquery html


    【解决方案1】:

    它可以工作,但您需要将namelogostatus 作为参数传递给函数。您还可以删除多余的字符串连接:

    function addThis(name, logo, status) {
        $("#follower-Info").prepend('<div class="row"><div class="col-md-4"><img src="' + logo + '"></div><div class="col-md-4">' + name + '</div><div class="col-md-4">' + status + '</div></div>');
    }  
    

    然后你可以在你的$.getJSON处理程序中调用它:

    addThis('Foo', 'bar.jpg', 'online');
    

    【讨论】:

    • 为什么在每个处理程序下使用 addThis(logo, status, name) 不能正常工作?这三个参数在每个处理程序下本地声明。
    • 如果没有看到你的代码,我猜它们不在函数的范围内。
    • 访问codepen的链接可以看到代码:codepen.io/sibraza/pen/AXRRvq
    • 您在该代码中定义了addThis() 函数,但您从未调用它。
    • 好的,我能够弄清楚我做错了什么。参数顺序不正确。
    猜你喜欢
    • 1970-01-01
    • 2022-08-21
    • 1970-01-01
    • 1970-01-01
    • 2021-10-09
    • 2017-09-15
    • 1970-01-01
    • 2022-11-01
    • 1970-01-01
    相关资源
    最近更新 更多