我有
var $imageSelected = '<div style="position: absolute"><span>hello</span></div>';
我需要从创建的变量
中删除style属性我试过了:
$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");
并不起作用,并且通过使用上面的代码,它确实删除了样式,但它将代码粘贴到文本区域很多次,而不仅仅this
单击
$(&#39;#usp-custom-4&#39;)是textarea id
答案 0 :(得分:2)
克隆,删除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>
答案 1 :(得分:1)
您可以使用例如replace
功能。
var $myValue = '<div style="position: absolute"><span>hello</span></div>';
$myValue = $myValue.replace(/ style.+"/, '');
console.log($myValue);