javascript - 使用 jQuery 选择和替换嵌入式样式

标签 javascript jquery

是否可以使用 jQuery 选择和替换嵌入式样式背景路径?我无法让它正常工作。

<script>
$(document).ready(function($) {

function myReplaceFunc() {
    var $str = $('style'); 
    $str.replace('wcsstore', 'mytest');
}

myReplaceFunc();

});
</script>

<style>
#test{
background: url("/wcsstore/***/en_GB/images/suppliershop/ecomheader.jpg");
}
</style>

<section id="test">Test 1</section>
<section id="test2">Test 2</section>

非常感谢任何帮助。

最佳答案

除了调用 replace() 的问题在 jQuery 对象上,您的方法是有缺陷的。虽然可以修改 <style> 的内容用 JS 标记,这离最好的解决方案还很远。

相反,您应该设置 background-image在元素上直接使用 css()方法。您可以为此方法提供一个函数,该函数接收当前值作为参数。然后您可以调用 replace()就此 - 就像你现在一样 - 更新值(value)。试试这个:

$(document).ready(function($) {
  function myReplaceFunc() {
    $('#test').css('background-image', function(i, bg) {
      return bg.replace('wcsstore', 'mytest');
    });
  }

  myReplaceFunc();
});
#test {
  background: url("/wcsstore/***/en_GB/images/suppliershop/ecomheader.jpg");
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<section id="test">Test 1</section>
<section id="test2">Test 2</section>

关于javascript - 使用 jQuery 选择和替换嵌入式样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46747842/

相关文章:

javascript - 使用 jQuery 附加表格行 - 最佳实践

javascript - 正则表达式替换所有前导制表符,每个字符都带有一个空格

javascript - 如何抓取页面的动态 URL?

javascript - 如何通过单击 div 中包含的 anchor 标记来获取跨度数据?

javascript - reactJS 对象状态数组 - 我如何在 setState() 中引用状态数组对象

jquery - 应用程序中的 jQuery 加载是否存在竞争条件?

jquery - 水平滚动条始终可见

javascript - 使用 addClass/delay/removeClass 的 "right"方法是什么?

javascript - 日/夜切换使用 Cookie 在页面刷新时保存

javascript - 将事件发送到 GA 的正确方法是什么?