带参数的Javascript函数调用

时间:2012-01-12 08:12:36

标签: javascript jquery-mobile cordova

我正在使用phonegap和jquery mobile开发移动应用程序。我有这个函数必须将变量传递给另一个函数。它是这样的:

    $.each(response.records, function(i, contact) {
       var url = contact.Id;
       var newLi = $("<li><a href='javascript:dothis("+url+")'>" + (i+1) + " - " + contact.Name + " - Company "+contact.Company+"</a></li>");
           ul.append(newLi);}

我有dothis(参数)函数但是当我输入变量“url”时它不会被调用。当我删除论证时,它有效。请帮助!

2 个答案:

答案 0 :(得分:3)

javascript:属性中使用href协议绝对不是一种好习惯。将事件绑定到链接并做出相应的响应要好得多。

newLi追加到ul:

后插入类似的内容
$.find('a').bind('click', function() {
    dothis(url);
});

以下是有关使用javascript:协议的不良做法的更多信息: Why is it bad practice to use links with the javascript: "protocol"?

答案 1 :(得分:1)

您需要将网址放在javascript中的引号:

var newLi = $("<li><a href=\"javascript:dothis('" +
      url +
      "')\">" + 
      (i+1) + " - " + contact.Name + 
      " - Company " + contact.Company + "</a></li>");