从jQuery[1.4.2] 迁移到 YUI3[3.1.2]

Getting Started

$.foo.bar() <==> YUI().use('node', 'module2', 'module3', function (Y) { Y.foo.bar()})

Common Idioms

$('div.foo:first') <==> Y.one('div.foo')

$('div').parent() <==> Y.one('div').get('parent')

$('#tabname')[0] <==>Y.Node.getDOMNode(Y.one("#tabname"));  转换Dom对象

var foo = $('div.foo:first')  <==>  var foo = Y.one('div.foo')

foo.some_method()  <==> if (foo) { foo.some_method();}
$('div.foo') <==> Y.all('div.foo')

var foo = $('div.foo') <==> var foo = Y.all('div.foo');
foo.length <==> foo.size()

.find('p.foo:first') <==> .one('p.foo')

.find('p.foo') <==> .all('p.foo')

$('<div/>') <==> Y.Node.create('<div/>')

.html('foo') <==> .setContent('foo')
.text('foo') <==> .set('text', 'foo')
.val('foo') <==> .set('value', 'foo')
.html() <==> .get('innerHTML')
.text() <==> .get('text')

.val() <==> .get('value')
.attr('foo') <==> .get('foo')
.attr('foo', 'bar') <==> .set('foo', 'bar')
.click(fn) <==> .on('click', fn)
.focus(fn) <==> .on('focus', fn)

.blur(fn) <==> .on('blur', fn)

.mouseout(fn) <==> .on('mouseout', fn)
.mouseover(fn) <==> .on('mouseover', fn)
parent.append('<div/>') <==> parent.append('<div/>')

parent = $('<div/>') <==> parent = Y.Node.create('<div/>');

$('<p>foo<p>').click(fn).appendTo(parent) <==> child = Y.Node.create('<p>foo</p>');child.on('click', fn);parent.appendChild(child);
child.appendTo(parent) <==> parent.append(child);parent.appendChild(child)
.empty() <==> .get('children').remove(true);

.siblings() <==> .siblings()
.siblings(selector) <==> .siblings(selector);.siblings(function)
.show() <==> .setStyle('display', null)
.hide() <==> .setStyle('display', 'none')
Selectors

$('*') <==> Y.all('*')

$(':button') <==> Y.all('input[type=button], button')

$(':checkbox')  <==> Y.all('input[type=checkbox]')

$(':checked')  <==> Y.all(':checked')

$('parent > child')  <==> Y.all('parent > child')

$('parent child')  <==> Y.all('parent child')

$('div.class') <==> Y.all('div.class')

$(":contains('foo')") <==> Y.all(':contains(foo)')

$(':disabled') <==> Y.all(':disabled')
$(':enabled') <==> Y.all(':enabled')
$(':empty') <==> Y.all(':empty')

$(':parent') <==> Y.all(':not(:empty)')

$('div:eq(n)') <==> Y.all('div').item(n)

$('div:even') <==> Y.all('div').even()
$('div:odd') <==> Y.all('div').odd()

$(':file') <==> Y.all('input[type=file]')

$('div:first-child') <==> Y.all('div:first-child')

$('div:first) <==> Y.one('div')

$('div:gt(n)') <==> Y.all(Y.all('div')._nodes.slice(n + 1));
$('div:lt(n)') <==> Y.all(Y.all('div')._nodes.slice(0,n));
$('#id') <==> Y.all('#id')

$('input:image') <==> Y.all('input[type=image]')

$(':input') <==> Y.all('input,textarea,select,button')

$(':last-child') <==> Y.all(':last-child')

$('div:last') <==> var list = Y.all('div'), last;if (list.size()) {  last = list.item(list.size() - 1);}

$('input[type=checkbox][checked]') <==> Y.all('input[type=checkbox][checked]')

$(':not(div)') <==> Y.all(':not(div)')

$(':password') <==> Y.all('input[type=password]')

$(':radio') <==> Y.all('input[type=radio]')

$(':selected') <==> Y.all('option[selected]')

Array vs. NodeList

$('.foo').array_method(args) <==> Y.all(Y.all('.foo')._nodes.array_method(args))

$('div').slice(x, y) <==> Y.all(Y.all('div')._nodes.slice(x, y))

$('div').add('p') <==> Y.all(Y.all('div')._nodes.concat(Y.all('p')._nodes))

 

Ajax 

//jquery
$.ajax({
url: url,
data: data,
success: successFn
});
//yui3
Y.io(url, {
data: data,
on: {success: successFn}
});
Y.io(url, {
data: data,
on: {success: successFn},
xdr: {use:
'flash'}
});

/************************/
//jquery
$('#message').load('/ajax/test.html');
//yui3
var fn = function(txnid, o) {
Y.one(
'#message').setContent(
o.responseText
);
}
Y.io(
'/ajax/test.html', {
on: { success: fn }
});

css

.addClass('foo') <==> .addClass('foo')

.removeClass('foo') <==> .removeClass('foo')
.toggleClass('foo') <==> .toggleClass('foo')
.hasClass('foo') <==> .hasClass('foo')

.removeClass('foo').addClass('bar') <==> .replaceClass('foo', 'bar')

.css('display', 'block') <==> .setStyle('display', 'block')

.css({height:100,width:100,display: 'block'}) <==> .setStyles({height:100,width:100, display: 'block'})

.css('display') <==> .getStyle('display')

.outerHeight() <==> .get('offsetHeight')

.outerWidth() <==> .get('offsetWidth')
.position()  // {left: 123, top: 456} <==> .getXY() // [123, 456]

 

http://www.jsrosettastone.com/

 

posted @ 2010-08-30 17:27  chesihui  阅读(662)  评论(1编辑  收藏  举报