javascript - 如何删除变量中找到的属性?

标签 javascript jquery

我有

var $imageSelected = '<div style="position: absolute"><span>hello</span></div>';

我需要从创建的变量中删除样式属性

我尝试过:

$imageSelected + "*").removeAttr("style");

$imageSelected).find("*").removeAttr("style");

按照第一个答案添加替换功能的完整代码:

$(".grid-item").on("click", function() {
  var $imageSelected = $(this).prop('outerHTML');
  var $paste = $imageSelected.replace(/style.+"/, '');
  $('#usp-custom-4').val(function(_, currentValue) {
    return currentValue + $paste
  });
});

使用 $imageSelected).removeAttr("style"); 不起作用,通过使用上面的代码确实可以删除样式,但它会将代码多次粘贴到文本区域中,而不是仅点击

$('#usp-custom-4') is the textarea id

最佳答案

克隆,删除attr,选择html

$(".grid-item").on("click", function() {
  var $imageSelected = $(this).clone().removeAttr("style"),
      code = $("<div></div>").append($imageSelected).html();
      //code = $imageSelected.prop('outerHTML');
  $('#usp-custom-4').val(function(_, currentValue) {
    return currentValue + code
  });
});
div {
  padding: 1em; border: 1px solid black; margin: .5em;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="grid-item" style="display:block;">1</div>
<div class="grid-item" style="display:block;">2</div>
<div class="grid-item" style="display:block;">3</div>
<div class="grid-item" style="display:block;">4</div>

<textarea id="usp-custom-4"></textarea>

关于javascript - 如何删除变量中找到的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42888194/

相关文章:

javascript - jQuery Tablesorter 插件不适用于表体中的行跨度

javascript - 通过查询替换/写入文件中的代码

javascript - 当表只有一行时 tableToJson 不起作用

javascript - 通过指令的多个 AngularJS $http 请求正在阻止其他 JavaScript 方法

javascript - Nodejs - Passport 身份验证总是返回失败重定向

javascript - 禁用无法按预期工作的触摸设备上的点击链接

javascript - 如何在页面上将 Angular 表达式打印为字符串?

javascript - AJAX inside $.when 给出返回字符串的第一个字符

javascript - Node - Ajax请求一旦没有响应就重新启动

javascript - React Component 有条件地渲染子项不能按我希望的那样工作