我正在编写带参数的jQuery插件,但我无法设置两个参数。
(function($) {
$.fn.ototypo = function(options) {
var defauts = {
'aaa': true, // ON/OFF ponctuation
'bbbccc': true // ON/OFF parenthese
};
var parametres = $.extend(defauts, options);
return this.each(function() {
var aaa = $(this).html().replace(/a/g, "aaa");
var bbbccc = $(this).html().replace(/b/g, "bbb").replace(/c/g, "ccc");
if (parametres.aaa) {
$(this).html(aaa)
}
if (parametres.bbbccc) {
$(this).html(bbbccc)
}
});
};
})(jQuery);
$('p').ototypo();
在此示例中,我有两个函数,一个将a
更改为aaa
,另一个将b
更改为bbb
和c
更改为{{1我希望能够同时启用名为ccc
和aaa
的功能。如果我将bbbccc
设置为功能,则只有最后一个似乎有效。我需要禁用一个启用另一个,反之亦然。
答案 0 :(得分:0)
对//Method creates a httpPost such as a json file
public static void createRequest(StringEntity params, String[][] headers, String url) {
HttpClient client = HttpClientBuilder.create().build();
try {
HttpPost request = new HttpPost(url);
for(String[] header: headers) {
request.addHeader(header[0], header[1]);
}
request.setEntity(params);
HttpResponse response = client.execute(request);
System.out.println(response.toString());
} catch(Exception e) {
e.printStackTrace();
}
}
的最后一次调用会覆盖之前对html
的调用,因为您只替换原始HTML,否则会丢失prevoius替换等。
html
(function($) {
$.fn.ototypo = function(options) {
var defauts = {
'aaa': true, // ON/OFF ponctuation
'bbbccc': true // ON/OFF parenthese
};
var parametres = $.extend(defauts, options);
return this.each(function() {
var html = $(this).html();
if (parametres.aaa) {
html = html.replace(/a/g, "aaa");
}
if (parametres.bbbccc) {
html = html.replace(/b/g, "bbb").replace(/c/g, "ccc");
}
$(this).html(html)
});
};
})(jQuery);
$('p').ototypo();
应该注意的是,你的方法将删除所有外部事件处理程序和jQuery存储的与元素相关的任何数据,并且它不适用于与传入的选择器等匹配的嵌套元素。