2017-03-24 2 views
1

Ich habe ein Skript in jquery, aber ich habe ein Problem, dass auf der Seite verwende ich nicht Jquery, das ist nur Beispiel, was ich brauche, es ist viel komplexer.Jquery zu reinem JS

$('img').each(function(){ 
     $(this).removeAttr('width'); 
     $(this).removeAttr('height'); 
     $(this).addClass('img-responsive'); 
    }); 

Es ist für Attribute von bewegten Bildern und Hinzufügen von Klasse anspricht, weil Benutzer viel TinyMce und standardmäßig verwendet es witdh und Höhe setzt. Ich weiß, vielleicht gibt es einige Plugin für TinyMCE ist, aber ich brauche einige gemeinsame Lösung

+0

Es ist sehr einfach, Sie können suchen. [Document.querySelectorAll()] (https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelectorAll), [removeAttribute()] (https://developer.mozilla.org/en -US/docs/Web/API/Element/removeAttribute) https://developer.mozilla.org/en/docs/Web/API/Element/classList – Satpal

+0

jQuery ist Open Source. Extrahiere was du brauchst von dort. –

+1

Warum können Sie nicht auch jquery zu dieser Seite hinzufügen? Es gibt keine Kosten, wenn Sie dieselbe Kopie/URL verwenden, die Sie auf den anderen Seiten bereitstellen, da der Browser sie zwischengespeichert hat. –

Antwort

4

Dies sollte funktionieren, aber Sie können für alle Browser ändern müssen:

document.querySelectorAll('img').forEach(function (e) { 
    e.removeAttribute('width') 
    e.removeAttribute('height') 
    e.classList.add('img-responsive') 
}) 

Siehe Dokumentation zur Kompatibilität:

+0

Ich brauche eine korrekte Lösung für alle Browser –

+2

@MiomirDancevic Dann verwenden Sie jQuery ;-) – sp00m

+0

@ sp00m Wie ich sage ich kann jquery nicht verwenden –

3
var images = document.querySelectorAll("img"); 
for (var i = 0; i < images.length; i++) { 
    images[i].removeAttribute("width"); 
    images[i].removeAttribute("height"); 
    images[i].classList.add("img-responsive"); 
} 
Verwandte Themen