2017-03-19 2 views
0

Ich habeWie entfernt man das in einer Variablen gefundene Attribut?

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

Ich brauche den Stil zu entfernen Attribut bilden die erzeugte Variable

Ich habe versucht:

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

und

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

Voll Code mit hinzugefügt ersetzen Sie Funktionalität als pro erste Antwort:

$(".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"); Verwendung nicht funktioniert und durch den Code mit darüber Stil nicht entfernt aber es wird viele Male den Code in das Textfeld einfügen, nicht this geklickt nur

$ ('# usp-custom-4') ist das Textfeld id

+0

Was $ imageSelected ist? – epascarello

+0

Sie brauchen nicht den Fundteil. Einfach removeAttr gegen $ (..) –

+1

$ ($ imageSelected) .removeAttr ("style"); – epascarello

Antwort

1

können Sie verwenden, zB replace Funktion.

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

 
    $myValue = $myValue.replace(/ style.+"/, ''); 
 
    console.log($myValue);

2

Clone, entfernen attr, wählen Sie die 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>

+0

das funktioniert eigentlich auch.Dennoch habe ich das eingefügte Element jedes Mal wiederholt, wenn ich auf –

+0

klicke, vielleicht sollte ich anhängen –

Verwandte Themen