jQuery 从选择中获取值然后更改 div 的 css

标签 jquery select html background

我一直在尝试使用这个示例,但我无法让它正常工作。
Change background of Div from select

任何能帮助我继续前进的意见都将不胜感激

<script>
#changemybg {
       background: url(images/default.jpg) no-repeat 50% 50%;
}
</scipt>

<div id="changemybg"></div>

<select name="change" id="backgrounds">
<option>bg</option>
<option>bg1</option>
<option>bg2></option>
</select>

bg = 背景.jpg
bg1 = background1.jpg
bg2 = background2.jpg

最佳答案

您存储映射的方式不是很灵活。我已将它们存储为一个对象。

如果您将它们命名为 bgbg2 等,并且没有限定它们的范围,您需要将它们作为 window['bg' + i] 这很乱。

var bg = {
  'bg': 'background.jpg',
  'bg1': 'background1.jpg',
  'bg2': 'background2.jpg' 
};

$('#backgrounds').change(function() {
   var background = $(this).find('option:selected').text();

   if ( ! background in bg) {
       return;
   } 

   $('#changemybg').css({
      'backgroundImage': 'url(' + bg[background] + ')'
   });
});

jsFiddle .

或者,您可以将文件名存储在每个 option 元素的 value 属性中,然后简单地将 backgroundImage 分配给 $( this).val().

此外,您正尝试在 script 元素内设置样式。那行不通;你想要的是一个 style 元素。

关于jQuery 从选择中获取值然后更改 div 的 css,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5774985/

相关文章:

javascript - 如何使用 setWebViewClient 在 android webview 中的 html 页面上正确打开 google play 链接?

javascript - 按钮消失

javascript - 使用 MagnificPopup 的作品集页面 - 弹出链接和弹出到每个作品集项目上的图像

javascript - 将今天日期设置为kendo datepicker

javascript - 如何在<td>和<tr>元素之间遍历?

MySQL 在子查询中插入自动生成的列

ruby-on-rails - Formtastic 复选框提交带有空白条目的列表(除了选择的 ID)

jquery - jQuery填充_link()以获取Google Analytics(分析)异步语法(跨域)

MySQL在一个查询中计算不同的项目

html - Facebook Like 按钮与其他社交按钮不一致。使用 CSS 来解决这个问题,但在其他浏览器中会中断