javascript - 使用 jQuery 扩展 DOM 元素

标签 javascript jquery

我想扩展一个 DOM 元素而不扩展所有元素。也就是说,我想要一个具有自己的方法和属性的自定义类,但也能够将其视为一个 div。例如

 MyClass = function(){
    this.foo = "waaa";
 }
 MyClass.prototype.changeText = function(newtext){
    // if this extended $(document.createElement("div")) something
    // like this might be possible
    this.html(newtext);
 }
 MyClass.prototype.alertFoo = function(){
    alert(this.foo);
 }

 var m = new MyClass();
 $("body").append(m);
 m.changetext();

这可能吗?

最佳答案

您可以使您的类成为 jquery 生成的 DIV 元素的子类:

function MyClass (){
    this.foo = "waaa";
}
MyClass.prototype = $('<div/>');
MyClass.prototype.changeText = function(newtext){
    this.html(newtext);
}
MyClass.prototype.alertFoo = function(){
    alert(this.foo);
}

var m = new MyClass();
$("body").append(m);
m.changeText('appletree');

关于javascript - 使用 jQuery 扩展 DOM 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1174834/

相关文章:

php - 在没有插件的情况下使用内置在 thickbox 中的 wordpress

javascript - 检查 JQuery 对象是否在命名空间下有事件的优雅方法

javascript - jquery:卸载还是卸载之前?

javascript - 如何使图像按随机顺序循环播放?

javascript - jQuery:动画仅在 Chrome 浏览器中卡住/崩溃

javascript - jQuery:使用 off() 禁用 onclick 事件不起作用

JQuery 主题生成器 CSS 问题

javascript - 在另一个先前动态创建的 div 中附加一个动态 div

jquery - Parsley 和 jQuery 验证比较

javascript - 如何通过 jquery 或 javascript 将多选下拉值插入到 var 中?