如何更改样式表的src属性

时间:2016-12-23 14:34:52

标签: jquery css

我正在尝试通过单击按钮来更改css样式表。

<head>    
<link id='link01' rel="stylesheet" href="blue.css">  
</head>

JS

$('.pointcolors').click(function(){
    var theme = $(this).attr('data-theme') + '.css';
    console.log(theme); // green.css - it's ok
    $('#link01').attr('src', theme);
});

但没有风格变化。没有任何事情发生 有什么帮助吗?

4 个答案:

答案 0 :(得分:3)

更改

 $('#link01').attr('src', theme);

要:

 $('#link01').attr('href', theme);

如果查看链接标记,则包含文件名的属性为“href”,而不是“src”。

答案 1 :(得分:3)

我想:

<DataTemplate DataType="{x:Type local:ViewModel+PropertyWrapper}">
    <Grid Margin="2">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="Auto" SharedSizeGroup="Key"/>
            <ColumnDefinition Width="*"/>
        </Grid.ColumnDefinitions>
        <TextBlock Grid.Column="0" x:Name="PLabel" Text="{Binding Name}" Margin="0,0,4,0"/>
        <TextBox Grid.Column="1" Text="{Binding Value}"/>
    </Grid>
</DataTemplate>

应该是:

<ItemsControl x:Key="PropertyListNoFill" x:Shared="False" Margin="0,3,0,0" Background="{x:Null}" BorderBrush="{x:Null}"
                ItemsSource="{Binding}"
                Grid.IsSharedSizeScope="True"
                HorizontalContentAlignment="Stretch"
                ItemTemplateSelector="{StaticResource PropertyTemplateSelector}" >
    <ItemsControl.ItemsPanel>
        <ItemsPanelTemplate>
            <DockPanel LastChildFill="False" IsItemsHost="True"/>
        </ItemsPanelTemplate>
    </ItemsControl.ItemsPanel>
    <ItemsControl.ItemContainerStyle>
        <Style>
            <Setter Property="DockPanel.Dock" Value="Top"/>
        </Style>
    </ItemsControl.ItemContainerStyle>
</ItemsControl>

How to change the href for a hyperlink using jQuery

答案 2 :(得分:0)

你可以这样做:

  

使用jQuery&#39; .attr()更改href标记的link属性。

&#13;
&#13;
$(function() {
	$("#block a").on('click', function() {
        theme = $(this).data('theme');
		$("#link01").attr("href", theme + '.css');
        console.log("Stylesheet changed to: " + $("#link01").attr("href"));
		return false;
	});
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link id='link01' rel="stylesheet" href="blue.css">  
<div id="block">
  <a href="#" data-theme="green">Change Stylesheet Link</a>
</div>
&#13;
&#13;
&#13;

希望这有帮助!

答案 3 :(得分:-1)

src更改为href应该有效。

$('#link01').attr('href', theme);