Problema con la etiqueta select y jquery para seleccionar una plantilla

Buenas a todos hace tiempo que no me paso por aqui, pero me han entrado ganas denuevo de volver a crear webs y ya tengo una estructura montada pero ahora mismo tengo un problema aqui os dejo el codigo y explico mas abajo

 <!doctype html>
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=UTF-8">
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript">
$(document).ready(inicio)
function inicio(){
$("select").change(cambiacss)
}
function cambiacss(){
var plantilla =$("select").attr("value");
$("plantilla").html('<link rel=Stylesheet href="css/'+plantilla+'.css" type="text/css">')
}
</script>
<link rel=Stylesheet href="css/base.css" type="text/css">
<plantilla>

</pantilla>
</head>

<body>
<select name="plantilla">
<option value="">Selecciona una plantilla</option>
<option value="pc1">Plantilla para ordenador</option>
<option value="pchd">Plantilla alta definición</option>
<option value="movil">Plantilla para telefono movil</option>
<option value="tablet">Plantilla para tableta digital</option>
</select>
<hr>
<div id="contenedor">
<header>
<div id="titulo">
<div id="logo">
</div>
<h1><sup>CLAN</sup>TempestadESP</h1>
<h2>Página web dedicada a los hobbys favoritos nuestros de las pantallas</h2>
</div>
<nav>
<ul>
<li>
<a href="index.html">Inicio</a>
</li>
<li>
<a href="formulario.html">Foro</a>
</li>
<li>
<a href="biografia.html">Biografia</a>
</li>
<li>
<a href="contacto.html">Contacto</a>
</li>
</ul>
</nav>
Bien el problema es que al seleccionar la plantilla que quiero en la opcion se me queda en blanco o se me vuelve a una web sin estructura no cargando el estilo

Lo que quiero hacer es un seleccionador que para cuando yo pique en una cambie a version movil, version para tablet, version para ordenador y version para ordenador en alta definicion. Pero el problema es qe nose porque no funciona
El problema de las plantillas o themas para las web es que puede a ver un error en el codigo que a simple vista no se ve. Yo optaria por contactar con el creador de dicha plantillas y consultar alli cual puede ser la causa.
<script type="text/javascript">
$(document).ready(inicio)
function inicio(){
$("select").change(cambiacss)
}
function cambiacss(){
var plantilla =$("select").attr("value");
$("plantilla").html('<link rel=Stylesheet href="css/'+plantilla+'.css" type="text/css">')
}
</script>

El problema está, creo yo, en que "select" no tiene atributo value.

Yo en lugar de... var plantilla =$("select").attr("value");
pondría algo como... var plantilla = $('select').find(':selected').attr('value');

Otra cosa que estoy viendo es que en intentas acceder a un $("plantilla")... eso no existe. Será un id (#plantilla), o una clase CSS (.plantilla) pero no una etiqueta. ¿Qué es lo que va a modificar cuando llames a la función? Si lo que quieres es modificar la etiqueta que pone la hoja CSS, tendrás que darle un id o acceder a ella de alguna otra manera, pero creo que esa línea no es correcta.
Hola!

No funciona porque el curso del que has sacado el código esta hecho bajo jquery 1.8, y en esta versión del framework se aceptaba coger el value del select usando .attr("value").
Sin embargo, en las ultimas versiones del framework, ha dejado de funcionar .attr("value") en favor de .val()
Por tanto, o usas la misma versión del framework que se usa en el curso, o cambias los métodos .attr("value") por .val()
Por ejemplo: $("select").val()
jocarsa escribió:Hola!

No funciona porque el curso del que has sacado el código esta hecho bajo jquery 1.8, y en esta versión del framework se aceptaba coger el value del select usando .attr("value").
Sin embargo, en las ultimas versiones del framework, ha dejado de funcionar .attr("value") en favor de .val()
Por tanto, o usas la misma versión del framework que se usa en el curso, o cambias los métodos .attr("value") por .val()
Por ejemplo: $("select").val()

Excelente!!! yo también estaba atorada con este tema!!! soy bastante nuevo en el tema del desarrollo web y por ello aún desconozco detalles técnicos de este tipo pero ya estoy aprendiendo, muchas gracias por tu respuesta! un saludo!!!