<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ca">
	<id>http://wiki.joanillo.org/index.php?action=history&amp;feed=atom&amp;title=Exercicis_DOM_I</id>
	<title>Exercicis DOM I - Historial de revisió</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.joanillo.org/index.php?action=history&amp;feed=atom&amp;title=Exercicis_DOM_I"/>
	<link rel="alternate" type="text/html" href="http://wiki.joanillo.org/index.php?title=Exercicis_DOM_I&amp;action=history"/>
	<updated>2026-08-30T10:17:53Z</updated>
	<subtitle>Historial de revisió per a aquesta pàgina del wiki</subtitle>
	<generator>MediaWiki 1.34.2</generator>
	<entry>
		<id>http://wiki.joanillo.org/index.php?title=Exercicis_DOM_I&amp;diff=258050&amp;oldid=prev</id>
		<title>Joan: /* Exercici 8 */</title>
		<link rel="alternate" type="text/html" href="http://wiki.joanillo.org/index.php?title=Exercicis_DOM_I&amp;diff=258050&amp;oldid=prev"/>
		<updated>2018-11-28T15:41:30Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Exercici 8&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Pàgina nova&lt;/b&gt;&lt;/p&gt;&lt;div&gt;=Introducció=&lt;br /&gt;
&lt;br /&gt;
=Referències=&lt;br /&gt;
A classe hem explicat els següents exemples:&lt;br /&gt;
&lt;br /&gt;
Return the number of images in a document&lt;br /&gt;
*http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_doc_images&lt;br /&gt;
Return the id of the first image in a document&lt;br /&gt;
*http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_doc_images2&lt;br /&gt;
Return the number of links in a document&lt;br /&gt;
*http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_doc_links&lt;br /&gt;
Open an output stream, and add some text&lt;br /&gt;
*http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_doc_open&lt;br /&gt;
Alert the number of elements with a specific name&lt;br /&gt;
*http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_doc_getelementsbyname&lt;br /&gt;
Alert the number of elements with a specific tagname&lt;br /&gt;
*http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_doc_getelementsbytagname&lt;br /&gt;
Return the value of the href attribute of a link&lt;br /&gt;
*http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_anchor_href&lt;br /&gt;
(més fàcil: alert(document.getElementsByTagName(&amp;quot;A&amp;quot;)[0].href); )&lt;br /&gt;
&lt;br /&gt;
Return the coordinates of an area in an image-map&lt;br /&gt;
*http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_area_coords&lt;br /&gt;
Set a button to disabled when clicked&lt;br /&gt;
*http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_button_disabled&lt;br /&gt;
Return the id of the form a button belongs to&lt;br /&gt;
*http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_button_form&lt;br /&gt;
Submit a form&lt;br /&gt;
*http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_form_submit&lt;br /&gt;
Change the background color of the document contained in an iframe&lt;br /&gt;
*http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_iframe_contentdocument&lt;br /&gt;
Remove frameborder of an iframe&lt;br /&gt;
*http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_iframe_frameborder2&lt;br /&gt;
&lt;br /&gt;
Add border to an image.&lt;br /&gt;
&lt;br /&gt;
'''nota'''. Com es comenta a 'http://www.w3schools.com/jsref/dom_obj_image.asp'', ja no podem utiltizar la propietat ''border'', sinó que en html5 hem d'utiltizar ''.style.border''.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Clica el botó per posar un contorn&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;img src=&amp;quot;./arcade.jpg&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;button onclick=&amp;quot;myFunction()&amp;quot;&amp;gt;Try it&amp;lt;/button&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
function myFunction() {&lt;br /&gt;
    var img = document.images[0];&lt;br /&gt;
    alert(img.src);&lt;br /&gt;
    img.style.border = &amp;quot;thick solid #0000FF&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Change the src of an image&lt;br /&gt;
*http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_img_src&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Clica el botó per canviar la imatge&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;img src=&amp;quot;./arcade.jpg&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;button onclick=&amp;quot;myFunction()&amp;quot;&amp;gt;Try it&amp;lt;/button&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
function myFunction() {&lt;br /&gt;
    var img = document.images[0];&lt;br /&gt;
    img.src='./arcade2.jpg';&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Repàs''': la llista de tots els events que pots utiltizar els trobaràs a:&lt;br /&gt;
*http://www.w3schools.com/jsref/dom_obj_event.asp&lt;br /&gt;
&lt;br /&gt;
Get the number of options in the dropdown list&lt;br /&gt;
*http://www.w3schools.com/js/tryit.asp?filename=try_dom_select_length&lt;br /&gt;
&lt;br /&gt;
Variant: Donat el següent formulari, quantes opcions té la segona select del formulari?&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;form&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;nom&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;cognom&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;select&amp;gt;&lt;br /&gt;
  &amp;lt;option&amp;gt;Apple&amp;lt;/option&amp;gt;&lt;br /&gt;
  &amp;lt;option&amp;gt;Pear&amp;lt;/option&amp;gt;&lt;br /&gt;
  &amp;lt;option&amp;gt;Banana&amp;lt;/option&amp;gt;&lt;br /&gt;
  &amp;lt;option&amp;gt;Orange&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;/select&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;select&amp;gt;&lt;br /&gt;
  &amp;lt;option&amp;gt;Seat&amp;lt;/option&amp;gt;&lt;br /&gt;
  &amp;lt;option&amp;gt;Mercedes&amp;lt;/option&amp;gt;&lt;br /&gt;
  &amp;lt;option&amp;gt;Citroen&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;/select&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/form&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;There are &amp;lt;span id=&amp;quot;demo&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt; options in the list.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
var ele = document.forms[0].elements;&lt;br /&gt;
var a=0;&lt;br /&gt;
for(var i=0; i&amp;lt;ele.length; i++) {&lt;br /&gt;
&lt;br /&gt;
	//alert(document.forms[0].elements[i].type);&lt;br /&gt;
//alert(ele[i].type);&lt;br /&gt;
	if(ele[i].type == 'select-one') {&lt;br /&gt;
		a++;&lt;br /&gt;
		if(a==2) alert(document.forms[0].elements[i].length)&lt;br /&gt;
	}&lt;br /&gt;
    &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Turn the dropdown list into a multiline list&lt;br /&gt;
*http://www.w3schools.com/js/tryit.asp?filename=try_dom_select_size&lt;br /&gt;
Select multiple options in a dropdown list:&lt;br /&gt;
*http://www.w3schools.com/js/tryit.asp?filename=try_dom_select_multiple&lt;br /&gt;
'''Nota''': a http://www.w3schools.com/tags/tag_select.asp trobaràs la referència del tag ''&amp;lt;select&amp;gt;'', i allà pots veure que hi ha la propietat ''multiple''.&lt;br /&gt;
&lt;br /&gt;
Remove options from a dropdown list&lt;br /&gt;
*http://www.w3schools.com/js/tryit.asp?filename=try_dom_select_remove&lt;br /&gt;
Change the width of a table border (s'ha de fer amb style)&lt;br /&gt;
&lt;br /&gt;
Add options from a dropdown list&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
function afegirOption() {&lt;br /&gt;
	var sel_fruites=document.getElementById(&amp;quot;fruites&amp;quot;)&lt;br /&gt;
    var opt_fruites = sel_fruites.options;&lt;br /&gt;
	var option1 = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
	var option2 = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
	option1.text = &amp;quot;Kiwi&amp;quot;;&lt;br /&gt;
	option2.text = &amp;quot;Taronja&amp;quot;;&lt;br /&gt;
	sel_fruites.add(option1); //afegir al final, per defecte&lt;br /&gt;
	sel_fruites.add(option2, sel_fruites[0]); //afegir al principi&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;form&amp;gt;&lt;br /&gt;
&amp;lt;select id=&amp;quot;fruites&amp;quot; &amp;gt;&lt;br /&gt;
  &amp;lt;option&amp;gt;Apple&amp;lt;/option&amp;gt;&lt;br /&gt;
  &amp;lt;option&amp;gt;Pear&amp;lt;/option&amp;gt;&lt;br /&gt;
  &amp;lt;option&amp;gt;Banana&amp;lt;/option&amp;gt;&lt;br /&gt;
  &amp;lt;option&amp;gt;Orange&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;/select&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;button&amp;quot; onclick=&amp;quot;afegirOption()&amp;quot; value=&amp;quot;Afegir opció&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/form&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Delete rows in a table&lt;br /&gt;
*http://www.w3schools.com/jsref/met_table_deleterow.asp&lt;br /&gt;
Change the content of a table cell&lt;br /&gt;
*http://www.w3schools.com/jsref/coll_tr_cells.asp&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
&amp;lt;style&amp;gt;&lt;br /&gt;
table, td {&lt;br /&gt;
    border: 1px solid black;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/style&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Click the button to return the number of cells in the table's first row.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table id=&amp;quot;myTable&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;cell 1&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;cell 2&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;cell 3&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;cell 4&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;button onclick=&amp;quot;myFunction()&amp;quot;&amp;gt;Try it&amp;lt;/button&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p id=&amp;quot;demo1&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p id=&amp;quot;demo2&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
function myFunction() {&lt;br /&gt;
    var taula = document.getElementById(&amp;quot;myTable&amp;quot;);&lt;br /&gt;
    //var taula = document.tables[0];&lt;br /&gt;
    var files = taula.rows;&lt;br /&gt;
    var celles = files[0].cells;&lt;br /&gt;
    var num_celles = celles.length; //és el mateix que número de columnes&lt;br /&gt;
&lt;br /&gt;
    document.getElementById(&amp;quot;demo1&amp;quot;).innerHTML = &amp;quot;Found &amp;quot; + num_celles + &amp;quot; cells in the first tr element.&amp;quot;;&lt;br /&gt;
    &lt;br /&gt;
	document.getElementById(&amp;quot;demo2&amp;quot;).innerHTML = &amp;quot;Contingut de la 1a cel.la:  &amp;quot; + celles[0].innerHTML;&lt;br /&gt;
        &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''El Sudoku''':&lt;br /&gt;
*http://www.sudokubum.com/&lt;br /&gt;
Pots trobar codi font Javascript per fer i resoldre Sudokus, com l'enllaç anterior. Si mires dins el codi segur que trobaràs moltes referències als objectes ''cells'', ''rows'', etc. És un bon exercici mirar de llegir (i entedre) codi.&lt;br /&gt;
&lt;br /&gt;
*http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_table_cells_item&lt;br /&gt;
Fixa't bé que aquestes dues sentències són equivalents:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alert(document.getElementById(&amp;quot;myTable&amp;quot;).rows[0].cells[0].innerHTML);&lt;br /&gt;
alert(document.getElementById(&amp;quot;myTable&amp;quot;).rows[0].cells.item(0).innerHTML);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''nota''': aquests són exemples explicats/comentats a classe explícitament, però l'alumne hauria de mirar amb tot detall la resta d'exercicis mostrats a:&lt;br /&gt;
&lt;br /&gt;
JavaScript HTML DOM Examples:&lt;br /&gt;
*http://www.w3schools.com/js/js_dom_examples.asp&lt;br /&gt;
JavaScript HTML DOM Events Examples&lt;br /&gt;
*http://www.w3schools.com/js/js_events_examples.asp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sobre aquests exemples fem alguns exercicis.&lt;br /&gt;
&lt;br /&gt;
=Desenvolupament=&lt;br /&gt;
==Enunciats==&lt;br /&gt;
L'alumne ha de realitzar els següents exercicis:&lt;br /&gt;
&lt;br /&gt;
'''1. ''' Formulari: ficar tots els elements d'un formulari de color blau cel. El formulari ha de contenir caixes de text, radio button, check box, select box, text area i buttons. El text del formulari estarà dins de labels.&lt;br /&gt;
&lt;br /&gt;
'''2. ''' pàgina web: retornar la url de tots els enllaços de la web&lt;br /&gt;
&lt;br /&gt;
'''3. ''' Tenim tres imatges. Afegir un border quan fem onmouseover sobre la imatge, amb diferent color segons la imatge: blau, verd i vermell&lt;br /&gt;
&lt;br /&gt;
'''4. ''' dropdown list (select box). Tenim un formulari amb una caixa de text, dos botons (amb value ''afegir'' i value ''treure''), i una select box. Es tracta d'anar afegint i treient elements de la select box.&lt;br /&gt;
&lt;br /&gt;
'''5. ''' taula dinàmica. En l'exercici 2 has retornat tots els links d'una pàgina. Ara els hauràs de posar en forma de taula, a tres columnes: 1a columna, l'index de la fila; 2a columna: el text del link; 3a columna, la URL del link&lt;br /&gt;
&lt;br /&gt;
'''6. ''' Tens una taula amb l'estructura país / num_habitants / superfície. Recorre dinàmicament tota la taula (a través de la col.lecció ''rows'' i la col.lecció ''cells'', i digues el número total d'habitants i la superfície total.&lt;br /&gt;
&lt;br /&gt;
==Solucions==&lt;br /&gt;
===Exercici 1===&lt;br /&gt;
1. Formulari: ficar tots els elements d'un formulari de color blau cel. El formulari ha de contenir caixes de text, radio button, check box, select box, text area i buttons. El text del formulari estarà dins de labels.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;
    &amp;lt;html lang=&amp;quot;es-ar&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;head&amp;gt;&lt;br /&gt;
    &amp;lt;meta charset=&amp;quot;utf-8&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Comptar elements&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;meta name=&amp;quot;description&amp;quot; content=&amp;quot;Exercici DOM&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
    //&amp;lt;![CDATA[&lt;br /&gt;
&lt;br /&gt;
    function canviar_a_blau_cel() {&lt;br /&gt;
		for(i=0; elem=document.frm_dades_personals.elements[i]; i++)          &lt;br /&gt;
		{&lt;br /&gt;
			//elem.style.background = 'lightblue';&lt;br /&gt;
			elem.style.background = '#aaaaff';&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
    function canviar_els_labels() {&lt;br /&gt;
		labels = document.getElementsByTagName(&amp;quot;label&amp;quot;);&lt;br /&gt;
		for (i=0;i&amp;lt;labels.length;i++)           &lt;br /&gt;
		{&lt;br /&gt;
			labels[i].style.background = '#aaaaff';&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
    //]]&amp;gt;&lt;br /&gt;
    &amp;lt;/script&amp;gt;&lt;br /&gt;
    &amp;lt;/head&amp;gt;&lt;br /&gt;
    &amp;lt;body&amp;gt;&lt;br /&gt;
	&amp;lt;h1&amp;gt;Canviar color de background&amp;lt;/h1&amp;gt;&lt;br /&gt;
	&amp;lt;p&amp;gt;Com es pot veure,  style.background no afecta als &amp;lt;em&amp;gt;radio button&amp;lt;/em&amp;gt; i del &amp;lt;em&amp;gt;checkbox&amp;lt;/em&amp;gt;. En aquest cas, gràcies a l'ús de &amp;lt;em&amp;gt;labels&amp;lt;/em&amp;gt; podem donar color també als &amp;lt;em&amp;gt;radio button&amp;lt;/em&amp;gt; i &amp;lt;em&amp;gt;checkbox&amp;lt;/em&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
	&amp;lt;p&amp;gt;Gràcies als labels podem donar format als elements de text: nom, cognoms, etc. Per tant, és interessant que tots els elements de text estiguin inclosos dins d'elements que es puguin formatar, com ara &amp;lt;em&amp;gt;label&amp;lt;/em&amp;gt; o &amp;lt;em&amp;gt;span class=...&amp;lt;/em&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;form name=&amp;quot;frm_dades_personals&amp;quot; id=&amp;quot;formu&amp;quot; action=&amp;quot;processar.htm&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;num&amp;quot; value=&amp;quot;12&amp;quot;&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
    &amp;lt;label&amp;gt;nom:&amp;lt;/label&amp;gt; &amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;nom&amp;quot;&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
    &amp;lt;label&amp;gt;cognoms:&amp;lt;/label&amp;gt; &amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;cognom&amp;quot;&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
	&amp;lt;label&amp;gt;password:&amp;lt;/label&amp;gt; &amp;lt;input type=&amp;quot;password&amp;quot; name=&amp;quot;pwd&amp;quot;&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
	&amp;lt;label&amp;gt;sexe&lt;br /&gt;
	&amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;sex&amp;quot; value=&amp;quot;male&amp;quot; &amp;gt;Male&lt;br /&gt;
	&amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;sex&amp;quot; value=&amp;quot;female&amp;quot;&amp;gt;Female&amp;lt;br /&amp;gt;&lt;br /&gt;
	&amp;lt;/label&amp;gt;&lt;br /&gt;
	&amp;lt;label&amp;gt;&lt;br /&gt;
	&amp;lt;input type=&amp;quot;checkbox&amp;quot; name=&amp;quot;chk_bici&amp;quot; value=&amp;quot;bici&amp;quot;&amp;gt;Bicicleta&amp;lt;br /&amp;gt;&lt;br /&gt;
	&amp;lt;input type=&amp;quot;checkbox&amp;quot; name=&amp;quot;chk_cotxe&amp;quot; value=&amp;quot;cotxe&amp;quot;&amp;gt;Cotxe&amp;lt;br /&amp;gt; &lt;br /&gt;
	&amp;lt;/label&amp;gt;&lt;br /&gt;
	&amp;lt;select name=&amp;quot;cotxes&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;option value=&amp;quot;volvo&amp;quot;&amp;gt;Volvo&amp;lt;/option&amp;gt;&lt;br /&gt;
	&amp;lt;option value=&amp;quot;saab&amp;quot;&amp;gt;Saab&amp;lt;/option&amp;gt;&lt;br /&gt;
	&amp;lt;option value=&amp;quot;fiat&amp;quot;&amp;gt;Fiat&amp;lt;/option&amp;gt;&lt;br /&gt;
	&amp;lt;option value=&amp;quot;audi&amp;quot;&amp;gt;Audi&amp;lt;/option&amp;gt;&lt;br /&gt;
	&amp;lt;/select&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
	&amp;lt;textarea name=&amp;quot;txt_area&amp;quot; rows=&amp;quot;10&amp;quot; cols=&amp;quot;30&amp;quot;&amp;gt;&amp;lt;/textarea&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;input type=&amp;quot;button&amp;quot; onclick=&amp;quot;canviar_a_blau_cel();&amp;quot; name=&amp;quot;bt_blau_cel&amp;quot; value=&amp;quot;Canviar els items del formulari a blau cel&amp;quot;&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
    &amp;lt;input type=&amp;quot;button&amp;quot; onclick=&amp;quot;canviar_els_labels();&amp;quot; name=&amp;quot;bt_labels&amp;quot; value=&amp;quot;Canviar els labels a blau cel&amp;quot;&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
    &amp;lt;/form&amp;gt;&lt;br /&gt;
	&amp;lt;p id=&amp;quot;info&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;/body&amp;gt;&lt;br /&gt;
    &amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Exercici 2===&lt;br /&gt;
2. pàgina web: retornar la url de tots els enllaços de la web&lt;br /&gt;
&lt;br /&gt;
Agafem qualsevol pàgina que tingui enllaços i en descarreguem el codi font. Per exemple:&lt;br /&gt;
*http://www.joanillo.org/?cat=25&amp;amp;lang=ca&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
    //&amp;lt;![CDATA[&lt;br /&gt;
&lt;br /&gt;
    function llistar_links() {&lt;br /&gt;
		//alert(document.links.length);&lt;br /&gt;
		dades = &amp;quot;&amp;quot;;&lt;br /&gt;
	    var link_elements = document.links;&lt;br /&gt;
		for (i=0; i&amp;lt;link_elements.length; i++) {       &lt;br /&gt;
			dades = dades + document.links[i].href + &amp;quot;&amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
		//alert(dades);&lt;br /&gt;
		document.getElementById('info').innerHTML = dades;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
    //]]&amp;gt;&lt;br /&gt;
    &amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
i abaix de tot de la pàgina:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;!-- codi nou --&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;button&amp;quot; onclick=&amp;quot;llistar_links();&amp;quot; name=&amp;quot;llistar_links&amp;quot; value=&amp;quot;Llistar Links&amp;quot;&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;p id=&amp;quot;info&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Exercici 3===&lt;br /&gt;
3. Tenim tres imatges. Afegir un border quan fem onmouseover sobre la imatge, amb diferent color segons la imatge: blau, verd i vermell&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;
&amp;lt;html dir=&amp;quot;ltr&amp;quot; lang=&amp;quot;ca-ES&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
	&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
	//&amp;lt;![CDATA[&lt;br /&gt;
&lt;br /&gt;
	function canviar_contorn(x,color) {&lt;br /&gt;
		//alert(x.src);&lt;br /&gt;
		//http://www.w3schools.com/jsref/prop_style_bordercolor.asp&lt;br /&gt;
		//http://www.w3schools.com/jsref/dom_obj_style.asp#border&lt;br /&gt;
		x.style.borderColor=color;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	//una mica més complicat&lt;br /&gt;
	function canviar_contorn2(x,width,style,color) {&lt;br /&gt;
		//http://www.w3schools.com/jsref/prop_style_bordercolor.asp&lt;br /&gt;
		//http://www.w3schools.com/jsref/dom_obj_style.asp#border&lt;br /&gt;
		x.style.borderWidth=width;&lt;br /&gt;
		x.style.borderStyle=style;&lt;br /&gt;
		x.style.borderColor=color;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	//]]&amp;gt;&lt;br /&gt;
	&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&amp;lt;img src=&amp;quot;img/120409_170400_pic.JPG&amp;quot; border=&amp;quot;3px&amp;quot; onmouseover=&amp;quot;canviar_contorn(this,'blue')&amp;quot; onmouseout=&amp;quot;canviar_contorn(this,'black')&amp;quot; onclick=&amp;quot;canviar_contorn2(this,'thick','solid','blue')&amp;quot;/&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;img src=&amp;quot;img/120423_144806_pic.JPG&amp;quot; border=&amp;quot;3px&amp;quot; onmouseover=&amp;quot;canviar_contorn(this,'green')&amp;quot; onmouseout=&amp;quot;canviar_contorn(this,'black')&amp;quot; onclick=&amp;quot;canviar_contorn2(this,'medium','dashed','green')&amp;quot;/&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;img src=&amp;quot;img/120430_161010_pic.JPG&amp;quot; border=&amp;quot;3px&amp;quot; onmouseover=&amp;quot;canviar_contorn(this,'red')&amp;quot; onmouseout=&amp;quot;canviar_contorn(this,'black')&amp;quot; onclick=&amp;quot;canviar_contorn2(this,'thin','dotted','red')&amp;quot;/&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Exercici 4===&lt;br /&gt;
4. dropdown list (select box). Tenim un formulari amb una caixa de text, dos botons (amb value ''afegir'' i value ''treure''), i una select box. Es tracta d'anar afegint i treient elements de la select box.&lt;br /&gt;
&lt;br /&gt;
'''NOTA''': podeu utilitzar 'x.size=x.options.length;''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 &amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;
    &amp;lt;html lang=&amp;quot;es-ar&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;head&amp;gt;&lt;br /&gt;
    &amp;lt;meta charset=&amp;quot;utf-8&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Dropdown list - select box&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;meta name=&amp;quot;description&amp;quot; content=&amp;quot;Exercici DOM&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
    //&amp;lt;![CDATA[&lt;br /&gt;
&lt;br /&gt;
	function afegir() {&lt;br /&gt;
		var txt=document.getElementById(&amp;quot;marca&amp;quot;);&lt;br /&gt;
		//alert(txt.value);&lt;br /&gt;
&lt;br /&gt;
		var x=document.getElementById(&amp;quot;cotxes&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
		var opt = document.createElement(&amp;quot;option&amp;quot;);&lt;br /&gt;
		x.options.add(opt);&lt;br /&gt;
&lt;br /&gt;
		opt.text = txt.value;&lt;br /&gt;
		opt.value = x.options.length;&lt;br /&gt;
		x.size=x.options.length;&lt;br /&gt;
		txt.value=&amp;quot;&amp;quot;;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function treure() {&lt;br /&gt;
		var x=document.getElementById(&amp;quot;cotxes&amp;quot;);&lt;br /&gt;
		x.remove(x.selectedIndex);&lt;br /&gt;
		x.size=x.options.length;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
    //]]&amp;gt;&lt;br /&gt;
    &amp;lt;/script&amp;gt;&lt;br /&gt;
    &amp;lt;/head&amp;gt;&lt;br /&gt;
    &amp;lt;body&amp;gt;&lt;br /&gt;
	&amp;lt;h1&amp;gt;Dropdown list - select box dinàmica&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;form name=&amp;quot;frm_dades_personals&amp;quot; id=&amp;quot;formu&amp;quot;&amp;gt;&lt;br /&gt;
	Marques de cotxes:&lt;br /&gt;
	&amp;lt;select id=&amp;quot;cotxes&amp;quot; name=&amp;quot;cotxes&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;/select&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
	&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;marca&amp;quot; name=&amp;quot;marca&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;input type=&amp;quot;button&amp;quot; onclick=&amp;quot;afegir();&amp;quot; name=&amp;quot;bt_afegir&amp;quot; value=&amp;quot;Afegir&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;input type=&amp;quot;button&amp;quot; onclick=&amp;quot;treure();&amp;quot; name=&amp;quot;bt_treure&amp;quot; value=&amp;quot;Treure&amp;quot;&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
    &amp;lt;/form&amp;gt;&lt;br /&gt;
	&amp;lt;p id=&amp;quot;info&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;/body&amp;gt;&lt;br /&gt;
    &amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Exercici 5===&lt;br /&gt;
5. taula dinàmica. En l'exercici 2 has retornat tots els links d'una pàgina. Ara els hauràs de posar en forma de taula, a tres columnes: 1a columna, l'index de la fila; 2a columna: el text del link; 3a columna, la URL del link&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;!-- codi nou --&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;button&amp;quot; onclick=&amp;quot;llistar_links();&amp;quot; name=&amp;quot;llistar_links&amp;quot; value=&amp;quot;Llistar Links&amp;quot;&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;p id=&amp;quot;info&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;table id = &amp;quot;taula_links&amp;quot; border=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
	//&amp;lt;![CDATA[&lt;br /&gt;
&lt;br /&gt;
	function llistar_links() {&lt;br /&gt;
		//alert(document.links.length);&lt;br /&gt;
		dades = &amp;quot;&amp;quot;;&lt;br /&gt;
		var taula = document.getElementById('taula_links');&lt;br /&gt;
		var link_elements = document.links;&lt;br /&gt;
		for (i=0; i&amp;lt;link_elements.length; i++) {      &lt;br /&gt;
			dades = dades + link_elements[i].href + &amp;quot;&amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;
			insRow(taula, i,link_elements[i].text,link_elements[i].href);&lt;br /&gt;
		}&lt;br /&gt;
		//alert(dades);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function insRow(vtaula, vid,vtext,vhref) {&lt;br /&gt;
		//mirar:&lt;br /&gt;
		//http://www.w3schools.com/js/tryit.asp?filename=try_dom_table_insertrow&lt;br /&gt;
		&lt;br /&gt;
		var fila=vtaula.insertRow(vtaula.rows.length);&lt;br /&gt;
		var cel1=fila.insertCell(0);&lt;br /&gt;
		var cel2=fila.insertCell(1);&lt;br /&gt;
		var cel3=fila.insertCell(2);&lt;br /&gt;
		cel1.innerHTML=vid+1;&lt;br /&gt;
		cel2.innerHTML=vtext;&lt;br /&gt;
		cel3.innerHTML=vhref;&lt;br /&gt;
		//NOTA: no funciona fer&lt;br /&gt;
		//cel3.innerHTML=&amp;quot;&amp;lt;a href='&amp;quot; + vhref + &amp;quot;'&amp;gt;&amp;quot; + vhref + &amp;quot;&amp;lt;/a&amp;gt;&amp;quot;;&lt;br /&gt;
		//doncs entrem en un bucle sense fi.&lt;br /&gt;
	}&lt;br /&gt;
	//]]&amp;gt;&lt;br /&gt;
	&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Exercici 6===&lt;br /&gt;
6. Tens una taula amb l'estructura país / num_habitants / superfície. Recorre dinàmicament tota la taula (a través de la col.lecció ''rows'' i la col.lecció ''cells'', i digues el número total d'habitants i la superfície total.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;
    &amp;lt;html lang=&amp;quot;es-ar&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;head&amp;gt;&lt;br /&gt;
    &amp;lt;meta charset=&amp;quot;utf-8&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Recórrer una taula&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;meta name=&amp;quot;description&amp;quot; content=&amp;quot;Exercici DOM&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
    //&amp;lt;![CDATA[&lt;br /&gt;
	function anar_sumant() {&lt;br /&gt;
		var textos;&lt;br /&gt;
		var total_habitants = 0;&lt;br /&gt;
		var total_superficie = 0;&lt;br /&gt;
		taula = document.getElementById('paisos');&lt;br /&gt;
		for ( var i = 1 ; i &amp;lt;taula.rows.length;i++ ) {&lt;br /&gt;
			total_habitants += parseInt(taula.rows[i].cells[1].innerHTML);&lt;br /&gt;
			total_superficie += parseInt(taula.rows[i].cells[2].innerHTML);&lt;br /&gt;
		}&lt;br /&gt;
		var info=&amp;quot;Número d'habitants: &amp;quot; + total_habitants + &amp;quot;&amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;
		info = info + &amp;quot;Total superfície: &amp;quot; + total_superficie + &amp;quot;&amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;
		document.getElementById('info').innerHTML = info;&lt;br /&gt;
	}&lt;br /&gt;
    //]]&amp;gt;&lt;br /&gt;
    &amp;lt;/script&amp;gt;&lt;br /&gt;
    &amp;lt;/head&amp;gt;&lt;br /&gt;
    &amp;lt;body onload=&amp;quot;anar_sumant()&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;h1&amp;gt;Taula de països&amp;lt;/h1&amp;gt;&lt;br /&gt;
	&amp;lt;table name=&amp;quot;paisos&amp;quot; id=&amp;quot;paisos&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;País&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;num hab&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;superf&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
	&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;França&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;15&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;504000&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
	&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Anglaterra&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;25&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;340000&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
	&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Itàlia&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;42&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;225000&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;p id=&amp;quot;info&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;/body&amp;gt;&lt;br /&gt;
    &amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Exercici 7===&lt;br /&gt;
Tens en un array la llista de les comarques. Crear una llista HTML de les comarques, programàticament, amb ''createElement'' i ''appendChild'' (has de crear tant l'element ''ul'' com el ''li'').&lt;br /&gt;
&lt;br /&gt;
Teoria: [[Exemples_del_DOM#createElement_i_appendChild:_crear_una_llista_des_de_zero]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
&amp;lt;title&amp;gt;Modificando nodos con el árbol DOM&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;parrafillo&amp;quot;&amp;gt;&lt;br /&gt;
Este es un párrafo que contiene muchas cosas:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Una&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;lista&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
function cambia() {&lt;br /&gt;
  var el=document.getElementById( &amp;quot;parrafillo&amp;quot;);&lt;br /&gt;
  // Primero quitamos el contenido&lt;br /&gt;
  while( el.firstChild!=null ) {&lt;br /&gt;
    el.removeChild( el.firstChild );&lt;br /&gt;
  }&lt;br /&gt;
  // A continuación, creamos y añadimos nodos&lt;br /&gt;
  var texto=document.createTextNode( &amp;quot;Y lo cambio completamente&amp;quot; )&lt;br /&gt;
  el.appendChild( texto );&lt;br /&gt;
  &lt;br /&gt;
  var ol=document.createElement( &amp;quot;ol&amp;quot; );&lt;br /&gt;
  el.appendChild( ol );&lt;br /&gt;
  var li=document.createElement( &amp;quot;li&amp;quot; );&lt;br /&gt;
  ol.appendChild( li );&lt;br /&gt;
  texto=document.createTextNode( &amp;quot;aunque&amp;quot; );&lt;br /&gt;
  li.appendChild( texto );&lt;br /&gt;
  li=document.createElement( &amp;quot;li&amp;quot; );&lt;br /&gt;
  ol.appendChild( li );&lt;br /&gt;
  texto=document.createTextNode( &amp;quot;también incluyo&amp;quot; );&lt;br /&gt;
  li.appendChild( texto );&lt;br /&gt;
  li=document.createElement( &amp;quot;li&amp;quot; );&lt;br /&gt;
  ol.appendChild( li );&lt;br /&gt;
  &lt;br /&gt;
  //una altra manera de fer-ho&lt;br /&gt;
  //texto=document.createTextNode( &amp;quot;una lista&amp;quot; );&lt;br /&gt;
  //li.appendChild( texto );&lt;br /&gt;
  li.innerHTML=&amp;quot;text amb innerHTML&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//després de 1 segon executem la funció per veure els canvis:&lt;br /&gt;
setTimeout( &amp;quot;cambia()&amp;quot;, 1000 );&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Exercici 8===&lt;br /&gt;
Recórrer els elements d'una llista. Dues maneres:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;
    &amp;lt;html lang=&amp;quot;es-ar&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;head&amp;gt;&lt;br /&gt;
    &amp;lt;meta charset=&amp;quot;utf-8&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Recórrer una taula&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;meta name=&amp;quot;description&amp;quot; content=&amp;quot;Exercici DOM&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
	function recorrer_llista() {&lt;br /&gt;
	    var str=&amp;quot;Els països llistats són: &amp;quot;;&lt;br /&gt;
		elem = document.getElementsByTagName(&amp;quot;li&amp;quot;);&lt;br /&gt;
		for(i=0; i &amp;lt; elem.length; i++)  {&lt;br /&gt;
            //alert(elem[i].innerHTML);&lt;br /&gt;
            str += elem[i].innerHTML + &amp;quot;, &amp;quot;;&lt;br /&gt;
        }   &lt;br /&gt;
        document.getElementById('info').innerHTML = str;&lt;br /&gt;
	}&lt;br /&gt;
    &amp;lt;/script&amp;gt;&lt;br /&gt;
    &amp;lt;/head&amp;gt;&lt;br /&gt;
    &amp;lt;body onload=&amp;quot;recorrer_llista()&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;h1&amp;gt;Llista de països&amp;lt;/h1&amp;gt;&lt;br /&gt;
	&amp;lt;ul&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;França&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;Anglaterra&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;Itàlia&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;p id=&amp;quot;info&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;/body&amp;gt;&lt;br /&gt;
    &amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Una altra manera diferent:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;
    &amp;lt;html lang=&amp;quot;es-ar&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;head&amp;gt;&lt;br /&gt;
    &amp;lt;meta charset=&amp;quot;utf-8&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Recórrer una taula&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;meta name=&amp;quot;description&amp;quot; content=&amp;quot;Exercici DOM&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
	function recorrer_llista() {&lt;br /&gt;
	    var str=&amp;quot;Els països llistats són: &amp;quot;;&lt;br /&gt;
        var elem=document.getElementById( &amp;quot;llista&amp;quot;);&lt;br /&gt;
        var child = elem.childNodes;&lt;br /&gt;
        alert(child.length);&lt;br /&gt;
        for (i=0; i&amp;lt;child.length; i++) { &lt;br /&gt;
        alert(child[i].nodeType + ' - ' + child[i].nodeName);&lt;br /&gt;
            &lt;br /&gt;
            if (child[i].nodeType==1) { //ElementNode&lt;br /&gt;
                alert(child[i].innerHTML);&lt;br /&gt;
                //o bé&lt;br /&gt;
                alert(child[i].firstChild.nodeValue);&lt;br /&gt;
                str += child[i].innerHTML + &amp;quot;, &amp;quot;;&lt;br /&gt;
             }&lt;br /&gt;
             &lt;br /&gt;
        }    &lt;br /&gt;
        document.getElementById('info').innerHTML = str;&lt;br /&gt;
	}&lt;br /&gt;
    &amp;lt;/script&amp;gt;&lt;br /&gt;
    &amp;lt;/head&amp;gt;&lt;br /&gt;
    &amp;lt;body onload=&amp;quot;recorrer_llista()&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;h1&amp;gt;Llista de països&amp;lt;/h1&amp;gt;&lt;br /&gt;
	&amp;lt;ul id=&amp;quot;llista&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;França&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;Anglaterra&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;Itàlia&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;p id=&amp;quot;info&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;/body&amp;gt;&lt;br /&gt;
    &amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''NOTA''': El contingut d'una etiqueta és el mateix que el valor del node del seu fill:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
console.log(child[i].innerHTML);&lt;br /&gt;
//o bé&lt;br /&gt;
console.log(child[i].firstChild.nodeValue);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Exercici 9: Número de taules===&lt;br /&gt;
Aquest exercici serveix per tenir en compte l'ús del document.write. Utiltizar document.write després de què s'hagi carregat la pàgina destrueix l'arbre del DOM.&lt;br /&gt;
*http://stackoverflow.com/questions/10873942/document-write-clears-page&lt;br /&gt;
*http://stackoverflow.com/questions/802854/why-is-document-write-considered-a-bad-practice&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;
    &amp;lt;html lang=&amp;quot;es-ar&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;head&amp;gt;&lt;br /&gt;
    &amp;lt;meta charset=&amp;quot;utf-8&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Creació d'una taula&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;meta name=&amp;quot;description&amp;quot; content=&amp;quot;Exercici DOM&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
    	function processar() {&lt;br /&gt;
    	    &lt;br /&gt;
&lt;br /&gt;
    	    var taules = document.getElementsByTagName(&amp;quot;table&amp;quot;);   &lt;br /&gt;
    	    alert(taules.length);&lt;br /&gt;
    	    alert(taules[0].rows[0].cells[0].innerHTML);&lt;br /&gt;
    	    &lt;br /&gt;
    	    novataula = document.getElementById(&amp;quot;novataula&amp;quot;);&lt;br /&gt;
    	    novataula.innerHTML = &amp;quot;&amp;lt;table&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Hongria&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;quot;;&lt;br /&gt;
    	    &lt;br /&gt;
    	    alert(taules.length);&lt;br /&gt;
    	    alert(taules[1].rows[0].cells[0].innerHTML);&lt;br /&gt;
&lt;br /&gt;
    	    document.write ('&amp;lt;table&amp;gt;');&lt;br /&gt;
    	    document.write ('&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Algèria&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;');&lt;br /&gt;
    	    document.write ('&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Noruega&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;');&lt;br /&gt;
    	    document.write ('&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Grècia&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;');  &lt;br /&gt;
    	    document.write ('&amp;lt;/table&amp;gt;');&lt;br /&gt;
  &lt;br /&gt;
      	    alert(taules.length);&lt;br /&gt;
    	    alert(taules[0].rows[0].cells[0].innerHTML);&lt;br /&gt;
    	    &lt;br /&gt;
    	}&lt;br /&gt;
    &amp;lt;/script&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;body onload=&amp;quot;processar()&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;França&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Anglaterra&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
     &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Marroc&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;    &lt;br /&gt;
     &amp;lt;/table&amp;gt;&lt;br /&gt;
     &lt;br /&gt;
     &amp;lt;div id=&amp;quot;novataula&amp;quot;&amp;gt;Nou país&amp;lt;/div&amp;gt;&lt;br /&gt;
     &lt;br /&gt;
     &amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Exercici 10 (exercici de classe, 20.11.2018)===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;INICI&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;p&amp;gt;Paràgraf 1&amp;lt;/p&amp;gt;&lt;br /&gt;
	&amp;lt;p&amp;gt;Paràgraf 2&amp;lt;/p&amp;gt;&lt;br /&gt;
	&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;tbody&amp;gt;&lt;br /&gt;
		&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;cel·la11&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;cel·la12&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
		&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;cel·la21&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;cel·la22&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
		&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;cel·la31&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;llista1&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;META&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
	&amp;lt;/tbody&amp;gt;&lt;br /&gt;
	&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
//aquí va el teu codi&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Partim de:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var elediv = document.getElementById(&amp;quot;INICI&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
hem d'accedir al valor de '''META'''.&lt;br /&gt;
&lt;br /&gt;
No es pot utilitzar ''getElementsByTagName'', ni ''document.cols'' o similar. Només es pot utilitzar ''childNodes, length, nodeName, nodeType, nodeValue''.&lt;br /&gt;
&lt;br /&gt;
'''Solució''':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	var inici = &amp;quot;INICI&amp;quot;;&lt;br /&gt;
	console.log(inici);&lt;br /&gt;
	var elediv = document.getElementById(inici);&lt;br /&gt;
	&lt;br /&gt;
	//recodem que console.dir(element); ens pot facilitar molt la feina!&lt;br /&gt;
	console.dir(elediv); //puc veure de forma ràpida tota la informació que m'interessa&lt;br /&gt;
&lt;br /&gt;
	var nodedivfills = elediv.childNodes;&lt;br /&gt;
	console.log(nodedivfills.length);&lt;br /&gt;
	console.log(nodedivfills[5].nodeName);&lt;br /&gt;
&lt;br /&gt;
	var nodetaulafills = nodedivfills[5].childNodes;&lt;br /&gt;
	console.log(nodetaulafills.length);&lt;br /&gt;
	console.log(nodetaulafills[1].nodeName); //TBODY&lt;br /&gt;
&lt;br /&gt;
	var nodetbodyfills = nodetaulafills[1].childNodes;&lt;br /&gt;
	console.log(nodetbodyfills.length);&lt;br /&gt;
	console.log(nodetbodyfills[5].nodeName); //TR&lt;br /&gt;
&lt;br /&gt;
	var nodetrfills = nodetbodyfills[5].childNodes;&lt;br /&gt;
	console.log(nodetrfills.length);&lt;br /&gt;
	console.log(nodetrfills[1].nodeName); //TD&lt;br /&gt;
	&lt;br /&gt;
	var nodetdfills = nodetrfills[1].childNodes;&lt;br /&gt;
	console.log(nodetdfills.length);&lt;br /&gt;
	console.log(nodetdfills[0].nodeName); //UL&lt;br /&gt;
	&lt;br /&gt;
	var nodeulfills = nodetdfills[0].childNodes;&lt;br /&gt;
	console.log(nodeulfills.length);&lt;br /&gt;
	console.log(nodeulfills[1].nodeName); //LI&lt;br /&gt;
	&lt;br /&gt;
	var nodelifills = nodeulfills[1].childNodes;&lt;br /&gt;
	console.log(nodelifills.length);&lt;br /&gt;
	var meta = nodelifills[0].nodeValue;&lt;br /&gt;
	console.log(meta);&lt;br /&gt;
&lt;br /&gt;
	//maneres alternatives:&lt;br /&gt;
	// Metodo utilizando el byTag&lt;br /&gt;
	var bytag = document.getElementById(&amp;quot;INICI&amp;quot;).getElementsByTagName(&amp;quot;tbody&amp;quot;)[0].rows[2].cells[1].getElementsByTagName(&amp;quot;ul&amp;quot;)[0].getElementsByTagName(&amp;quot;li&amp;quot;)[1].childNodes[0].nodeValue;&lt;br /&gt;
&lt;br /&gt;
	console.log(bytag);&lt;br /&gt;
&lt;br /&gt;
	// Metodo utilizando el byChild&lt;br /&gt;
	var bychild = (document.getElementById(&amp;quot;INICI&amp;quot;).childNodes[5].childNodes[1].childNodes[5].childNodes[1].childNodes[0].childNodes[1].childNodes[0].nodeValue);&lt;br /&gt;
&lt;br /&gt;
	console.log(bychild);&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Entrega=&lt;br /&gt;
Els alumnes entregaran al Schoology tots els fitxers generats (fitxers html). S'empaquetaran tots aquests fitxers i es pujaran al Schoology dins del termini d'entrega de la pràctica.&lt;br /&gt;
&lt;br /&gt;
Recorda la '''normativa''' per entregar les pràctiques al Schoology: [[ASIX-M10-UF2#Normativa_d.27entrega_de_les_pr.C3.A0ctiques_al_Schoology]]&lt;br /&gt;
&lt;br /&gt;
{{Autor}}, Novembre 2018&lt;br /&gt;
[[Categoria: Institut Jaume Balmes]]&lt;br /&gt;
[[Categoria: Assignatura DAW-M06-WEC]]&lt;/div&gt;</summary>
		<author><name>Joan</name></author>
		
	</entry>
</feed>