Phi*_*ton 5 javascript jquery jquery-plugins
我正在制作一个jQuery插件,在页面上显示警报.插件本身将警报标记插入DOM.由于jQuery的方式是让一切都返回this以维持链接,我遇到了一个有趣的问题,我想要反馈.我试图在以下两个选项之间做出决定.
方案一:
$("#content").alert('prepend', {type:'error', message:'This is an error'})
Run Code Online (Sandbox Code Playgroud)
这看起来很简单.警报前置于#contentDOM元素的开头.问题是,目前还不清楚返回的是什么.返回刚刚创建的alert元素是有意义的,但这种方式违背了jQuery的方式.
方案二:
$("<div>").alert({type:'error', message:'This is an error'}).prependTo("#content")
Run Code Online (Sandbox Code Playgroud)
这种方式似乎不太清晰,不太直观,但它更符合jQuery的处理方式,并且很清楚将返回哪个元素.
那么您会选择哪些选项?我担心的是,大多数用户可能不知道您可以$('<div>')创建新元素.另一方面,我不知道任何众所周知的项目,其jQuery插件方法返回的元素不是它们被调用的元素,但也许有.思考?
我只是把它放在 jQuery 命名空间中(而不是放在它的原型上):
$.alert({type:'error', message:'This is an error'}).prependTo("#content");
Run Code Online (Sandbox Code Playgroud)
此外,您可能会考虑请求选择器/DOM 节点/jQuery 对象,而不是让用户自己添加它:
$.alert({
parent: '#content', // or $('#content') or document.getElementById('content')
type: 'error',
message: 'This is an error'
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
88 次 |
| 最近记录: |