javascript - Jquery - 使用来自选择的数据属性更改背景图像

标签 javascript jquery html css

我必须更改什么才能使其正常工作?

当我尝试访问 $(this).data("image") 时,它是 undefined

HTML

<div id="imagecontainer"></div>
     <select class="image">
      <option data-image="url(http:www.test.de/images/test1.jpg)">Image1</option>
      <option data-image="url(http:www.test.de/images/test2.jpg)">Image2</option>
      <option data-image="url(http:www.test.de/images/test3.jpg)">Image3</option>
      <option data-image="url(http:www.test.de/images/test4.jpg)">Image4</option>
    </select>
</div>

jQuery:

$('.image').on('change', function() {
    $( "#imagecontainer" ).css( "background-image", ( $(this).data("image") ) );
})

最佳答案

select 元素没有 data-image 属性。子 option 元素可以,因此您必须选择所选的 option 元素:

$('option:selected', this).data("image");

或者..

$(this).find('option:selected').data("image");
$('.image').on('change', function () {
    $("#imagecontainer").css("background-image", ($('option:selected', this).data("image")));
});

Example Here

关于javascript - Jquery - 使用来自选择的数据属性更改背景图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28465317/

相关文章:

html - CSS/HTML 在 wordpress 页面上对齐网格中的图像

javascript - 将 PHP 数组发送到回显字符串中调用的 JS 函数

javascript - 即时为 Promise.all() 构建一系列 Promise

javascript - Unity javascript 如何检查另一个脚本中的 bool 是否为 true?

javascript - 如何在字体大小更改时停止输入调整大小

python - (Django) 如何在单个 view.py 文件中遵循数据库备份和恢复工作流程?

javascript - 同一字符串的两个不同部分的不同字体系列

jquery - 如何在值前添加静态文本?

jquery - $.ajax 完成后加载 css 文件

javascript - 来自后端的 javascript 值中的星级