很多人听过jQuery,可能很少用到mootools.js这个类库,mootools符合oo的思想,代码强健,灵活的模块化框架,多数用在大型的电商网站中,比如:shopEx模板,ecstore,今天来开始学习js中的另一款优秀的js类库。 当jq和mootools冲突时,使用jq自带的方法:
var jq = jQuery.noConflict();api地址:http://shouce.qdfuns.com/api/jsLib/mootools/v1.11/index.htm
1.ID 单个$符一般在获取ID时使用
var myDemo1 = $('id'); var myDemo2 = $$('#id'); var myDemo3 = document.id('id');2.获取类、标签使用双$和jq类似的方法
var myClass = $$('.class'); var myTag = $$('div'); var myA = $$('.class a'); $('myElement').getElements('input[name$=log]'); //获取所有在myElement内的name属性值以'log'结尾的input元素 = : 等于 ^= : 开始于 $= : 结束于 != : 不等于##方法## 1.内容 一般方法分获取操作和设置操作,set和get。
$$('.class').get('text'); //获取内容 $$('.class').set('text','我是新内容!'); //设置 $$('.class').get('html'); //html可以设置标签 $$('.class').set('html','<p>我是一段文字!<p/>'); $$('.class').get('tag'); //获取标签名2.扩展方法 inject : 可以用来把当前元素插入到指定元素之前(before),之中(inside),之后(after)
$('mydiv3').inject($('mydiv1'),'before'); //把mydiv3插入到mydiv1之前injectBefore injectAfter injectInside : 用来把当前元素插入到指定元素之前、之后、之中(相当于参数"before"的inject方法)
$('mydiv3').injectBefore($('mydiv1'));adopt : 可以在当前元素中插入指定元素(元素嵌套);
$('myDiv').adopt($('myDiv1')); $('myDiv').adopt('myDiv1'); $('myDiv').adopt('button');remove : 删除元素
$('mydiv').remove()clone : 复制元素,contents:是连带节点的内容进行复制(deepclone),如果不指定,则连带
$('myDiv').clone(false); //只复制myDiv本身,不复制其content和子元素appendText : 向元素添加文本节点
$('mydiv').appendText('文本内容');replaceWith : 用其他元素替换当前元素
$('myDiv1').replaceWith($(a));class类名操作 :
$('mybtn').hasClass('r') //是否包含此类名 true 或false $('mybtn').addClass('r') //添加class $('mybtn').removeClass('r') //删除class $('mybtn').toggleClass('r') //在addClass和removeClass之间切换setOpacity : 设置元素的透明度
$('mybtn').setOpacity(0.5);getValue : 获取input、textarea、select中的value值
<input type='text' value='132' id='a'><input> $('a').getValue(); //132属性操作 :
通过style添加的CSS样式属性 : getStyle 获取指定的属性 getStyles 获取多个属性值 setStyle 设置单个属性 setStyles 设置多个属性 $('mybtn').getStyle('color'); $('mybtn').setStyles('color','width'); $('mybtn').setStyle('color','red'); $('mybtn').setStyles({ fontSize:'20px', color:'orange' }); 元素自带属性 : setProperty 设置单个属性 setProperties 设置多个属性 $('img').setProperty('src',''); $('img').setProperties({ src: '', alt: '' }); getProperty 获取属性 $('img').getProperty('src');方位大小操作 :
getPosition 获取定位坐标相当于 offset 返回 : {x:10,y:20} getTop 相当于getPosition返回的y值 getLeft 相当于getPosition返回的x值 scroll 滚动到指定位置 window.scroll(0,500);1、addEvent 添加事件监听
var a = function (e) {alert('事件a:'+'clicked');}; $('mybtn').addEvent('click',a);添加多个事件监听
$('mybtn').addEvents({ 'click':function (e) {alert('clicked!!!');}, 'mouseover':function (e) { alert('mouseover'); } });2、removeEvent 删除事件监听 removeEvents 如果指定事件名,则全部删除
$('mybtn').removeEvent('click',a); $('mybtn').removeEvents('click');3.fireEvent 直接触发事件上的监听方法
$('mybtn').fireEvent('click');