我有这个有效的代码:
$(document).ready(function () {
var style = $('#formulario').val();
$('#formulario').change(function() {
var nombreArchivo = $(this).val();
nombreArchivo = nombreArchivo.replace(/ /gi, '_');
var ruta = '/printbox/views/formulariosweb/';
$('#contenedorFormulario').load( ruta + nombreArchivo + '.html');
$('head').append( $('<link rel="stylesheet" type="text/css"/>').attr('href', ruta + nombreArchivo + '.css') );
});
$("#formulario").trigger('change');
});
它根据表单中的选择更改 div 的内容,并且在每次更改时都正确应用样式。
但是,它添加 css 的次数与我更改表单中的值一样多。
当我尝试将title
属性设置为 时,问题就出现了LINK
,那么只有第一个样式有效,当我更改它时,新样式被加载到head
但没有被应用。
我去了 W3 网站(http://www.w3schools.com/tags/tag_link.asp),它说 LINK 支持该属性title
,所以我不知道这里有什么问题。我这样添加:
$('head').append( $('<link rel="stylesheet" type="text/css"/>').attr({ 'href': ruta + nombreArchivo + '.css', 'title': nombreArchivo }) );
任何帮助都感激不尽。
谢谢
PS:我添加了 title 属性以便以后能够识别和删除它,一旦我更改了下拉列表中的值,因此它不会填充标题。