我有
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/