如何编写 jQuery 小部件以将 'Hello world' 添加到选定的 div
How to write a jQuery widget to add 'Hello world' to the selected div
我需要一些帮助来编写 jQuery 小部件。
作为练习,我正在尝试创建一个小部件,它会在加载页面时向所选元素添加 'Hello World' 消息。
下面的代码应该将 "Hello World" 附加到 div 和 class “123”,但没有任何反应。谁能看出我做错了什么?
jQuery/javascript:
$.widget("custom.hwLoader",{
options: {
clear:null
},
_create: function() {
this.element;
this.name;
this.namespace;
this.element.on("load"+this.eventNamespace,
function(){
$("<h1>Hello World</h1>").appendTo(this.element);
}
)
},
_setOption: function( key, value ) {
this._super("_setOption", key, value );
},
_destroy: function() {
this.element.unbind('.'+this.eventNamespace);
}
});
HTML:
$("<div class='addHere'></div>").appendTo("body");
$(".addHere").hwLoader();
可以使用jQuery文本方式:http://api.jquery.com/text/
$(document).ready(function(){
$('#selected_element').text('Hello World');
});
这里是 fiddle:http://jsfiddle.net/7zq2kvw0/1/
并且 class 或 id 名称以字母开头更安全(请参阅此问题:What are valid values for the id attribute in HTML?)
使用小部件:
小部件工厂是一项 jQuery UI 功能。一个简单的函数会更适合这种用法。如果您真的想使用小部件,请确保您的页面上 link 同时 jQuery 和 jQuery UI 脚本:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.3/jquery-ui.min.js"></script>
在这种情况下,下面的简单代码效果很好:
$.widget("custom.HW_Loader",{
_create: function() {
this.element.text('Hello World');
}
});
您可以使用 $('#element').HW_Loader();
调用小部件
我需要一些帮助来编写 jQuery 小部件。
作为练习,我正在尝试创建一个小部件,它会在加载页面时向所选元素添加 'Hello World' 消息。
下面的代码应该将 "Hello World" 附加到 div 和 class “123”,但没有任何反应。谁能看出我做错了什么?
jQuery/javascript:
$.widget("custom.hwLoader",{
options: {
clear:null
},
_create: function() {
this.element;
this.name;
this.namespace;
this.element.on("load"+this.eventNamespace,
function(){
$("<h1>Hello World</h1>").appendTo(this.element);
}
)
},
_setOption: function( key, value ) {
this._super("_setOption", key, value );
},
_destroy: function() {
this.element.unbind('.'+this.eventNamespace);
}
});
HTML:
$("<div class='addHere'></div>").appendTo("body");
$(".addHere").hwLoader();
可以使用jQuery文本方式:http://api.jquery.com/text/
$(document).ready(function(){
$('#selected_element').text('Hello World');
});
这里是 fiddle:http://jsfiddle.net/7zq2kvw0/1/
并且 class 或 id 名称以字母开头更安全(请参阅此问题:What are valid values for the id attribute in HTML?)
使用小部件:
小部件工厂是一项 jQuery UI 功能。一个简单的函数会更适合这种用法。如果您真的想使用小部件,请确保您的页面上 link 同时 jQuery 和 jQuery UI 脚本:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.3/jquery-ui.min.js"></script>
在这种情况下,下面的简单代码效果很好:
$.widget("custom.HW_Loader",{
_create: function() {
this.element.text('Hello World');
}
});
您可以使用 $('#element').HW_Loader();