b45cf0c43257bd3781496320d9602fac76d997f2Matt Sweeney<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
b45cf0c43257bd3781496320d9602fac76d997f2Matt Sweeney<html>
b45cf0c43257bd3781496320d9602fac76d997f2Matt Sweeney<head>
b45cf0c43257bd3781496320d9602fac76d997f2Matt Sweeney<title>FIXME</title>
b45cf0c43257bd3781496320d9602fac76d997f2Matt Sweeney
b45cf0c43257bd3781496320d9602fac76d997f2Matt Sweeney<script type="text/javascript" src="/build/yui/yui.js"></script>
b45cf0c43257bd3781496320d9602fac76d997f2Matt Sweeney<script type="text/javascript" src="/build/event-custom/event-custom.js"></script>
b45cf0c43257bd3781496320d9602fac76d997f2Matt Sweeney<script type="text/javascript" src="/build/event-simulate/event-simulate.js"></script>
b45cf0c43257bd3781496320d9602fac76d997f2Matt Sweeney<script type="text/javascript" src="/build/event/event.js"></script>
b45cf0c43257bd3781496320d9602fac76d997f2Matt Sweeney<script type="text/javascript" src="/build/oop/oop.js"></script>
b45cf0c43257bd3781496320d9602fac76d997f2Matt Sweeney<script type="text/javascript" src="/build/base/base.js"></script>
b45cf0c43257bd3781496320d9602fac76d997f2Matt Sweeney<script type="text/javascript" src="/build/attribute/attribute.js"></script>
d2bacf915570731779738821c6d7b01b7d9600feMatt Sweeney<script type="text/javascript" src="/build/dom/dom-debug.js"></script>
9fd236427d8cf0758974e1ae152f221064b341e1Matt Sweeney<script type="text/javascript" src="/build/dom/selector-css3-debug.js"></script>
b45cf0c43257bd3781496320d9602fac76d997f2Matt Sweeney<script type="text/javascript" src="/build/node/node-debug.js"></script>
b45cf0c43257bd3781496320d9602fac76d997f2Matt Sweeney
b45cf0c43257bd3781496320d9602fac76d997f2Matt Sweeney<style type="text/css">
b45cf0c43257bd3781496320d9602fac76d997f2Matt Sweeney
b45cf0c43257bd3781496320d9602fac76d997f2Matt Sweeney</style>
b45cf0c43257bd3781496320d9602fac76d997f2Matt Sweeney</head>
b45cf0c43257bd3781496320d9602fac76d997f2Matt Sweeney<body>
6ea48d96f5a25dc7cb072787412ae2d88fc34f32Matt Sweeney<div id="demo" class="foo">
6ea48d96f5a25dc7cb072787412ae2d88fc34f32Matt Sweeney <p id="lorem">lorem</p>
d2bacf915570731779738821c6d7b01b7d9600feMatt Sweeney <p title="ipsum">ipsum</p>
d2bacf915570731779738821c6d7b01b7d9600feMatt Sweeney <p>dolor</p>
d2bacf915570731779738821c6d7b01b7d9600feMatt Sweeney <p>sit</p>
d2bacf915570731779738821c6d7b01b7d9600feMatt Sweeney</div>
d2bacf915570731779738821c6d7b01b7d9600feMatt Sweeney
9fd236427d8cf0758974e1ae152f221064b341e1Matt Sweeney<div class="bar">bar</div>
9fd236427d8cf0758974e1ae152f221064b341e1Matt Sweeney<div class="baz">bar</div>
9fd236427d8cf0758974e1ae152f221064b341e1Matt Sweeney
9fd236427d8cf0758974e1ae152f221064b341e1Matt Sweeney<ol start=0>
9fd236427d8cf0758974e1ae152f221064b341e1Matt Sweeney <li>foo</li>
9fd236427d8cf0758974e1ae152f221064b341e1Matt Sweeney <li>foo</li>
9fd236427d8cf0758974e1ae152f221064b341e1Matt Sweeney <li>foo</li>
9fd236427d8cf0758974e1ae152f221064b341e1Matt Sweeney <li>foo</li>
9fd236427d8cf0758974e1ae152f221064b341e1Matt Sweeney <li>foo</li>
9fd236427d8cf0758974e1ae152f221064b341e1Matt Sweeney <li>foo</li>
9fd236427d8cf0758974e1ae152f221064b341e1Matt Sweeney <li>foo</li>
9fd236427d8cf0758974e1ae152f221064b341e1Matt Sweeney</ol>
9fd236427d8cf0758974e1ae152f221064b341e1Matt Sweeney
b45cf0c43257bd3781496320d9602fac76d997f2Matt Sweeney<script type="text/javascript">
b45cf0c43257bd3781496320d9602fac76d997f2Matt SweeneyYUI().use('*', function(Y) {
9fd236427d8cf0758974e1ae152f221064b341e1Matt Sweeney nodelist = Y.all('li').even().set('innerHTML', 'bar');
9fd236427d8cf0758974e1ae152f221064b341e1Matt Sweeney console.log(nodelist.size());
b45cf0c43257bd3781496320d9602fac76d997f2Matt Sweeney
b45cf0c43257bd3781496320d9602fac76d997f2Matt Sweeney/*
b45cf0c43257bd3781496320d9602fac76d997f2Matt Sweeney1. set title on all nodes
b45cf0c43257bd3781496320d9602fac76d997f2Matt Sweeney store initial value === prevVal
b45cf0c43257bd3781496320d9602fac76d997f2Matt Sweeney2. provide prevVal array in handler
b45cf0c43257bd3781496320d9602fac76d997f2Matt Sweeney3. fire node titleChange
b45cf0c43257bd3781496320d9602fac76d997f2Matt Sweeney4. fire nodelist titleChange
b45cf0c43257bd3781496320d9602fac76d997f2Matt Sweeney*/
b45cf0c43257bd3781496320d9602fac76d997f2Matt Sweeney
a6dd1c401b840b62cff0bcd04969e7c6a0022a6bMatt Sweeney/*
d2bacf915570731779738821c6d7b01b7d9600feMatt Sweeney node.on('innerHTMLChange', function(e) {
d2bacf915570731779738821c6d7b01b7d9600feMatt Sweeney e.preventDefault();
d2bacf915570731779738821c6d7b01b7d9600feMatt Sweeney e.newVal = 'hijacked val';
d2bacf915570731779738821c6d7b01b7d9600feMatt Sweeney this._defAttrChangeFn(e);
d2bacf915570731779738821c6d7b01b7d9600feMatt Sweeney console.log('Node: ' + e.type + ': ' + e.target._yuid);
b45cf0c43257bd3781496320d9602fac76d997f2Matt Sweeney });
d2bacf915570731779738821c6d7b01b7d9600feMatt Sweeney //node.set('innerHTML', 'new content from Node');
b45cf0c43257bd3781496320d9602fac76d997f2Matt Sweeney
e56c4e11f404542db23efd22779d04fd7e8ff5eaMatt Sweeney
e56c4e11f404542db23efd22779d04fd7e8ff5eaMatt Sweeney //node.setStyle('color', 'red');
e56c4e11f404542db23efd22779d04fd7e8ff5eaMatt Sweeney nodelist.setStyle('color', 'red');
e56c4e11f404542db23efd22779d04fd7e8ff5eaMatt Sweeney
dd619970d0715e8271b6f4e344737b073b713a7bMatt Sweeney console.log(Y.all('body').get('firstChild.nodeName'));
e56c4e11f404542db23efd22779d04fd7e8ff5eaMatt Sweeney console.log(Y.get('body').get('firstChild.nodeName'));
e56c4e11f404542db23efd22779d04fd7e8ff5eaMatt Sweeney
e56c4e11f404542db23efd22779d04fd7e8ff5eaMatt Sweeney Y.get('body').on('firstChildChange', function(e) {
e56c4e11f404542db23efd22779d04fd7e8ff5eaMatt Sweeney console.log(e);
e56c4e11f404542db23efd22779d04fd7e8ff5eaMatt Sweeney e.preventDefault();
e56c4e11f404542db23efd22779d04fd7e8ff5eaMatt Sweeney });
e56c4e11f404542db23efd22779d04fd7e8ff5eaMatt Sweeney console.log(Y.get('body').set('firstChild.nextSibling.innerHTML', 'foo'));
e56c4e11f404542db23efd22779d04fd7e8ff5eaMatt Sweeney
d2bacf915570731779738821c6d7b01b7d9600feMatt Sweeney node.after('innerHTMLChange', function(e) {
d2bacf915570731779738821c6d7b01b7d9600feMatt Sweeney console.log('Node: afterInnerHTMLChange');
b45cf0c43257bd3781496320d9602fac76d997f2Matt Sweeney });
b45cf0c43257bd3781496320d9602fac76d997f2Matt Sweeney
d2bacf915570731779738821c6d7b01b7d9600feMatt Sweeney nodelist.on('innerHTMLChange', function(e) {
d2bacf915570731779738821c6d7b01b7d9600feMatt Sweeney //console.log('NodeList: ' + e.type + ': ' + e.target);
d2bacf915570731779738821c6d7b01b7d9600feMatt Sweeney });
d2bacf915570731779738821c6d7b01b7d9600feMatt Sweeney
10d67463820db9c4acc3bc438d9e11a9dc72c9c5Matt Sweeney var onClick = function(e) {
b45cf0c43257bd3781496320d9602fac76d997f2Matt Sweeney //e.preventDefault();
b45cf0c43257bd3781496320d9602fac76d997f2Matt Sweeney console.log('node click');
10d67463820db9c4acc3bc438d9e11a9dc72c9c5Matt Sweeney };
10d67463820db9c4acc3bc438d9e11a9dc72c9c5Matt Sweeney nodelist.on('click', onClick);
10d67463820db9c4acc3bc438d9e11a9dc72c9c5Matt Sweeney
10d67463820db9c4acc3bc438d9e11a9dc72c9c5Matt Sweeney Y.get('#demo').addNode('<p>injected content</p>');
b45cf0c43257bd3781496320d9602fac76d997f2Matt Sweeney
10d67463820db9c4acc3bc438d9e11a9dc72c9c5Matt Sweeney nodelist.on('refresh', function(e) {
10d67463820db9c4acc3bc438d9e11a9dc72c9c5Matt Sweeney e.added.on('click', onClick);
10d67463820db9c4acc3bc438d9e11a9dc72c9c5Matt Sweeney
10d67463820db9c4acc3bc438d9e11a9dc72c9c5Matt Sweeney });
10d67463820db9c4acc3bc438d9e11a9dc72c9c5Matt Sweeney nodelist.refresh();
d2bacf915570731779738821c6d7b01b7d9600feMatt Sweeney nodelist.set('innerHTML', 'new content from NodeList');
b45cf0c43257bd3781496320d9602fac76d997f2Matt Sweeney
30d7fa0527f813aa95468c3409140a1bef2a4e24Matt Sweeney console.log(Y.get('#demo').get('children').set('innerHTML', 'foo'));
6ea48d96f5a25dc7cb072787412ae2d88fc34f32Matt Sweeney console.log(Y.get('#demo').hasClass('foo'));
6ea48d96f5a25dc7cb072787412ae2d88fc34f32Matt Sweeney console.log(Y.get('#demo').addClass('bar'));
6ea48d96f5a25dc7cb072787412ae2d88fc34f32Matt Sweeney console.log(Y.get('#demo').hasClass('bar'));
6ea48d96f5a25dc7cb072787412ae2d88fc34f32Matt Sweeney console.log(nodelist.item(0).get('id'));
6ea48d96f5a25dc7cb072787412ae2d88fc34f32Matt Sweeney nodelist.each(function(n) {
6ea48d96f5a25dc7cb072787412ae2d88fc34f32Matt Sweeney n.set('innerHTML', 'set by nodelist.each()');
6ea48d96f5a25dc7cb072787412ae2d88fc34f32Matt Sweeney });
e56c4e11f404542db23efd22779d04fd7e8ff5eaMatt Sweeney */
b45cf0c43257bd3781496320d9602fac76d997f2Matt Sweeney});
b45cf0c43257bd3781496320d9602fac76d997f2Matt Sweeney</script>
b45cf0c43257bd3781496320d9602fac76d997f2Matt Sweeney</body>
b45cf0c43257bd3781496320d9602fac76d997f2Matt Sweeney</html>