Javascript jQuery&;对象,试图制作一个轻量级小部件

Javascript jQuery&;对象,试图制作一个轻量级小部件,javascript,jquery,Javascript,Jquery,试图创建一个可以动态添加元素的makegenericselect“control”,但在让函数正常工作时遇到了问题 这是我开始的 $select = $("<select></select>"); $select.addOption = function(value,text){ $(this).append($("<option></option>").val(value).text(text)); }; 黑客解决方案是在创建后手动添加功能

试图创建一个可以动态添加元素的makegenericselect“control”,但在让函数正常工作时遇到了问题

这是我开始的

$select = $("<select></select>");
$select.addOption = function(value,text){
  $(this).append($("<option></option>").val(value).text(text));
};
黑客解决方案是在创建后手动添加功能:

$nameSelect= new $selectX;
$nameSelect.addOption = function(value,text){
  $(this).append($("<option></option>").val(value).text(text));
};
$nameSelect=new$selectX;
$nameSelect.addOption=函数(值,文本){
$(this.append($(“”).val(value).text(text));
};

我选错树了吗?

要向jQuery添加新方法,需要使用
jQuery.fn.methodName
属性,因此在本例中它将是:

jQuery.fn.addOption = function (value, text) {
    jQuery(this).append(jQuery('<option></option>').val(value).text(text));
};
jQuery.fn.addOption=函数(值,文本){
jQuery(this).append(jQuery(“”).val(value).text(text));
};
但是请记住,这个
addOption
可以从任何
$()
调用的结果中访问

jQuery.fn.addOption = function (value, text) {
    jQuery(this).append(jQuery('<option></option>').val(value).text(text));
};